From 2970c4c0f7532e06309e0bf1b8beb669b78ba242 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 10 Jan 2024 18:11:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E8=BD=A6=E8=BE=86?= =?UTF-8?q?=E4=BA=A4=E5=9B=9E=E4=BA=8B=E5=89=8D=E6=8A=A5=E5=A4=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AppRestoreReportApplyDetailsVo.java | 107 +++++++++ .../restorereport/RestoreReportFeign.java | 67 ++++++ .../RestoreReportFeignFallback.java | 52 +++++ .../flow/AppRestoreReportDelegateQuery.java | 25 ++ .../flow/AppRestoreReportTaskQuery.java | 46 ++++ .../flow/CompleteRestoreReportDto.java | 35 +++ .../flow/RestoreReportFlowableQuery.java | 21 ++ .../risk/restorereport/RestoreReportRest.java | 87 +++++++ .../restorereport/RestoreReportService.java | 221 ++++++++++++++++++ 9 files changed, 661 insertions(+) create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeign.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java create mode 100644 anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java create mode 100644 anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java new file mode 100644 index 0000000000..636f9940a7 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/AppRestoreReportApplyDetailsVo.java @@ -0,0 +1,107 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.api.risk.restorereport; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * Project: anrui-riskcenter(车辆交回事前报备申请)
+ * File: LoanRestoreReportApplyVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo
+ * Description: 车辆交回事前报备申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-01-08 11:43:57
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@ApiModel(value = "车辆交回事前报备申请 视图数据详情", description = "车辆交回事前报备申请 视图数据详情") +public class AppRestoreReportApplyDetailsVo implements Vo { + + @ApiModelProperty("发起部门-发起人员") + private String publishInfo; + @ApiModelProperty("申请日期") + private String time; + @ApiModelProperty("车架号") + private String vinNo; // 车架号 + @ApiModelProperty("车牌号") + private String carNum; // 车牌号 + @ApiModelProperty("客户名称") + private String custName; // 客户名称 + @ApiModelProperty("贷款人") + private String borrName; // 贷款人 + @ApiModelProperty("贷款合同编号") + private String loanContractNo; // 贷款合同编号 + @ApiModelProperty("资方") + private String bankName; // 资方 + @ApiModelProperty("资方合同编号") + private String bankContractNo; // 资方合同编号 + @ApiModelProperty("已还金额") + private String alRepaidMoney; // 已还金额 + @ApiModelProperty("当前逾期金额/其中资金占用费") + private String yqzjzyMoney; // 当前逾期金额 + @ApiModelProperty("未到期金额") + private String unexpiredMoney; // 未到期金额 + @ApiModelProperty("总期数/当前期数") + private String qsCount; // 总期数 + @ApiModelProperty("已还金额换算期数") + private String alRepaidMoneyConPeriod; // 已还金额换算期数 + @ApiModelProperty("逾期金额换算期数") + private String beOverdueMoneyAndPeriod; // 逾期金额换算期数 + @ApiModelProperty("交回方式value") + private String restoreTypeValue; // 交回方式value + @ApiModelProperty("预交回日期") + private String restoreDate; // 预交回日期 + @ApiModelProperty("经办人姓名") + private String operatorName; // 经办人姓名 + @ApiModelProperty("涉及相关费用") + private String involveCorrMoney; // 涉及相关费用 + @ApiModelProperty("费用说明") + private String costRemarks; // 费用说明 + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstSid; // 流程实例的sid + @ApiModelProperty("催收记录sid") + private String csjlSid; + @ApiModelProperty("金融方案") + private String jrfa; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("附件路径") + private List files = 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/restorereport/RestoreReportFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeign.java new file mode 100644 index 0000000000..a5ad698058 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeign.java @@ -0,0 +1,67 @@ +package com.yxt.anrui.terminal.api.risk.restorereport; + + +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery; +import com.yxt.common.core.result.ResultBean; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; + +/** + * @description: + * @author: fzz + * @date: 2023/8/8 + **/ +@Api(tags = "车辆交回事前报备") +@FeignClient( + contextId = "terminal-RestoreReport", + name = "anrui-terminal", + path = "/riskcenter/v1/restoreReport", + fallback = RestoreReportFeignFallback.class) +public interface RestoreReportFeign { + + + @ApiOperation("详情") + @GetMapping("/restoreReportDetail/{sid}") + @ResponseBody + ResultBean restoreReportDetail(@PathVariable("sid") String sid); + + //-------------------------流程----------------------------------------- + + @ApiOperation("办理") + @PutMapping("/agreeCreditInfo") + @ResponseBody + ResultBean agreeCreditInfo(@Valid @RequestBody CompleteRestoreReportDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectCreditInfo") + @ResponseBody + ResultBean rejectCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallCreditInfo") + @ResponseBody + ResultBean recallCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopCreditInfo") + @ResponseBody + ResultBean stopCreditInfo(@Valid @RequestBody AppRestoreReportTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@Valid @SpringQueryMap RestoreReportFlowableQuery query); + + @ApiOperation(value = "加签") + @PutMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody AppRestoreReportDelegateQuery delegateQuery); +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java new file mode 100644 index 0000000000..3afe8bff68 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/RestoreReportFeignFallback.java @@ -0,0 +1,52 @@ +package com.yxt.anrui.terminal.api.risk.restorereport; + +import com.yxt.anrui.terminal.api.risk.policyrecordapply.AppFinPolicyApplyInitVo; +import com.yxt.anrui.terminal.api.risk.policyrecordapply.PolicyRecordApplyFeign; +import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.CompletePolicyDto; +import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyFlowableQuery; +import com.yxt.anrui.terminal.api.risk.policyrecordapply.flow.PolicyTaskQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.stereotype.Component; + +/** + * @Author dimengzhe + * @Date 2023/3/21 15:19 + * @Description + */ +@Component +public class RestoreReportFeignFallback implements PolicyRecordApplyFeign { + @Override + public ResultBean fetchDetailsBySid(String sid) { + return null; + } + + @Override + public ResultBean agreePolicyApplyInfo(CompletePolicyDto dto) { + return null; + } + + @Override + public ResultBean agreeCompanyToDivisionOperate(CompletePolicyDto dto) { + return null; + } + + @Override + public ResultBean rejectPolicyApplyInfo(PolicyTaskQuery query) { + return null; + } + + @Override + public ResultBean recallPolicyApplyInfo(PolicyTaskQuery query) { + return null; + } + + @Override + public ResultBean stopPolicyApplyInfo(PolicyTaskQuery query) { + return null; + } + + @Override + public ResultBean getFlowOperateTitle(PolicyFlowableQuery query) { + return null; + } +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java new file mode 100644 index 0000000000..fdb2a1d132 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportDelegateQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.risk.restorereport.flow; + +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 AppRestoreReportDelegateQuery { + @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-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java new file mode 100644 index 0000000000..bfdf7cd26d --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/AppRestoreReportTaskQuery.java @@ -0,0 +1,46 @@ +package com.yxt.anrui.terminal.api.risk.restorereport.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:14 + */ +@Data +public class AppRestoreReportTaskQuery implements Query { + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; + +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java new file mode 100644 index 0000000000..7470df5d77 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/CompleteRestoreReportDto.java @@ -0,0 +1,35 @@ +package com.yxt.anrui.terminal.api.risk.restorereport.flow; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @author Administrator + * @description + * @date 2023/10/17 9:13 + */ +@Data +public class CompleteRestoreReportDto implements Dto { + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java new file mode 100644 index 0000000000..f5bf7cdf17 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/restorereport/flow/RestoreReportFlowableQuery.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.terminal.api.risk.restorereport.flow; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +@Data +public class RestoreReportFlowableQuery implements Query { + private static final long serialVersionUID = -5879668616710833830L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; + +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java new file mode 100644 index 0000000000..52c7bb9688 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportRest.java @@ -0,0 +1,87 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.risk.restorereport; + +import com.yxt.anrui.terminal.api.risk.becollection.*; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.AppBeCollectionDelegateQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionTaskQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.CompleteBeCollectionDto; +import com.yxt.anrui.terminal.api.risk.restorereport.AppRestoreReportApplyDetailsVo; +import com.yxt.anrui.terminal.api.risk.restorereport.RestoreReportFeign; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +@RestController("车辆交回事前报备") +@RequestMapping("riskcenter/v1/restoreReport") +public class RestoreReportRest implements RestoreReportFeign { + + @Autowired + private RestoreReportService restoreReportService; + + @Override + public ResultBean restoreReportDetail(String sid) { + return restoreReportService.restoreReportDetail(sid); + } + + @Override + public ResultBean agreeCreditInfo(CompleteRestoreReportDto dto) { + return restoreReportService.agreeCreditInfo(dto); + } + + @Override + public ResultBean rejectCreditInfo(AppRestoreReportTaskQuery query) { + return restoreReportService.rejectCreditInfo(query); + } + + @Override + public ResultBean recallCreditInfo(AppRestoreReportTaskQuery query) { + return restoreReportService.recallCreditInfo(query); + } + + @Override + public ResultBean stopCreditInfo(AppRestoreReportTaskQuery query) { + return restoreReportService.stopCreditInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(RestoreReportFlowableQuery query) { + return restoreReportService.getFlowOperateTitle(query); + } + + @Override + public ResultBean delegate(AppRestoreReportDelegateQuery delegateQuery) { + return restoreReportService.delegate(delegateQuery); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java new file mode 100644 index 0000000000..841057d8b5 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/restorereport/RestoreReportService.java @@ -0,0 +1,221 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.anrui.terminal.biz.risk.restorereport; + + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateUtil; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.ReaRepaymentDto; +import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDetailsVo; +import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyFeign; +import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionFileVo; +import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*; +import com.yxt.anrui.riskcenter.api.loanbecollectionrecord.*; +import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDbrDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFeign; +import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehFile; +import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehFegin; +import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehQuery; +import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehVo; +import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.ReaRepaymentVo; +import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDetailsVo; +import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyFeign; +import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereFile; +import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*; +import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayDetails; +import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.MonRepayPeriodDetails; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDetailsVo; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeign; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportFileVo; +import com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable.*; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; +import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; +import com.yxt.anrui.terminal.api.base.common.CarModelVo; +import com.yxt.anrui.terminal.api.risk.becollection.*; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.AppBeCollectionDelegateQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.BeCollectionTaskQuery; +import com.yxt.anrui.terminal.api.risk.becollection.flowable.CompleteBeCollectionDto; +import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppFinanceForm; +import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppLoanHomeVisitVo; +import com.yxt.anrui.terminal.api.risk.restorereport.AppRestoreReportApplyDetailsVo; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportDelegateQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.AppRestoreReportTaskQuery; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.CompleteRestoreReportDto; +import com.yxt.anrui.terminal.api.risk.restorereport.flow.RestoreReportFlowableQuery; +import com.yxt.anrui.terminal.biz.base.common.CommonService; +import com.yxt.common.base.utils.StringUtils; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +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; + +@Service +public class RestoreReportService { + + @Autowired + private LoanRestoreReportApplyFeign loanRestoreReportApplyFeign; + @Autowired + private LoanBePadsincereApplyFeign loanBePadsincereApplyFeign; + @Autowired + private LoanBeOverdueVehFegin loanBeOverdueVehFegin; + @Autowired + private LoanSolutionsFeign loanSolutionsFeign; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; + @Autowired + private LoanBeCollectionRecordFeign loanBeCollectionRecordFeign; + @Autowired + private LoanBeCollectionVehFeign loanBeCollectionVehFeign; + @Autowired + private LoanRepaymentPlanDetailsFeign loanRepaymentPlanDetailsFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private CommonService commonService; + @Autowired + private FinVehicleInvoiceFeign finVehicleInvoiceFeign; + + public ResultBean agreeCreditInfo(CompleteRestoreReportDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportCompleteDto loanRestoreReportCompleteDto = new LoanRestoreReportCompleteDto(); + BeanUtil.copyProperties(dto, loanRestoreReportCompleteDto); + loanRestoreReportApplyFeign.complete(loanRestoreReportCompleteDto); + return rb.success(); + } + + public ResultBean rejectCreditInfo(AppRestoreReportTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanRestoreReportApplyFeign.reject(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallCreditInfo(AppRestoreReportTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanRestoreReportApplyFeign.revokeProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopCreditInfo(AppRestoreReportTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportTaskQuery taskQuery = new LoanRestoreReportTaskQuery(); + BeanUtil.copyProperties(query, taskQuery); + ResultBean resultBean = loanRestoreReportApplyFeign.breakProcess(taskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(RestoreReportFlowableQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + LoanRestoreReportNodeQuery getNodeQuery = new LoanRestoreReportNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> previousNodesForReject = loanRestoreReportApplyFeign.getPreviousNodesForReject(getNodeQuery); + if (previousNodesForReject.getSuccess()) { + previousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = previousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(previousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> nextNodesForSubmit = loanRestoreReportApplyFeign.getNextNodesForSubmit(getNodeQuery); + if (nextNodesForSubmit.getSuccess()) { + nextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = nextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(nextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } + + public ResultBean delegate(AppRestoreReportDelegateQuery delegateQuery) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportDelegateQuery delegateQuery1 = new + LoanRestoreReportDelegateQuery(); + BeanUtil.copyProperties(delegateQuery, delegateQuery1); + loanRestoreReportApplyFeign.delegate(delegateQuery1); + return rb.success(); + } + + public ResultBean restoreReportDetail(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanRestoreReportApplyDetailsVo loanRestoreReportApplyDetailsVo = loanRestoreReportApplyFeign.fetchDetailsBySid(sid).getData(); + AppRestoreReportApplyDetailsVo appRestoreReportApplyDetailsVo = new AppRestoreReportApplyDetailsVo(); + BeanUtil.copyProperties(loanRestoreReportApplyDetailsVo,appRestoreReportApplyDetailsVo,"files"); + appRestoreReportApplyDetailsVo.setPublishInfo(loanRestoreReportApplyDetailsVo.getDeptName() + "-" + loanRestoreReportApplyDetailsVo.getCreateByName()); + appRestoreReportApplyDetailsVo.setTime(loanRestoreReportApplyDetailsVo.getCreateTime()); + appRestoreReportApplyDetailsVo.setYqzjzyMoney(loanRestoreReportApplyDetailsVo.getCurrentBeMoney() + "/" + loanRestoreReportApplyDetailsVo.getWheFundOccMoney()); + appRestoreReportApplyDetailsVo.setQsCount(loanRestoreReportApplyDetailsVo.getNper() + "/" + loanRestoreReportApplyDetailsVo.getCurrentPeriod()); + List files = loanRestoreReportApplyDetailsVo.getFiles(); + List appFiles = new ArrayList<>(); + if (files != null && files.size() > 0){ + for (LoanRestoreReportFileVo file : files) { + appFiles.add(file.getUrl()); + } + } + appRestoreReportApplyDetailsVo.setFiles(appFiles); + return rb.success().setData(appRestoreReportApplyDetailsVo); + } +} \ No newline at end of file