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