diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealapply/LoanCaseAppealApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealapply/LoanCaseAppealApplyDetailsVo.java
index fcb7041c67..405abaaa2a 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealapply/LoanCaseAppealApplyDetailsVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealapply/LoanCaseAppealApplyDetailsVo.java
@@ -55,6 +55,12 @@ public class LoanCaseAppealApplyDetailsVo implements Vo {
private String sid; // sid
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("申请日期")
+ private String createTime;
+ @ApiModelProperty("创建人sid")
+ private String createBySid;
@ApiModelProperty("创建人")
private String createByName; // 创建人
@ApiModelProperty("申请编号")
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealveh/LoanCaseAppealVehDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealveh/LoanCaseAppealVehDetailsVo.java
index de44e5a6db..8a993205e4 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealveh/LoanCaseAppealVehDetailsVo.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancaseappealveh/LoanCaseAppealVehDetailsVo.java
@@ -59,6 +59,8 @@ public class LoanCaseAppealVehDetailsVo implements Vo {
private String affiliatedCompany; // 挂靠公司
@ApiModelProperty("车辆状态")
private String carState; // 车辆状态
+ @ApiModelProperty("备注")
+ private String remarks;
@ApiModelProperty("案件上诉申请sid")
private String mainSid; // 案件上诉申请sid
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealApplyDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealApplyDetailsVo.java
new file mode 100644
index 0000000000..8b72eb1cd9
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealApplyDetailsVo.java
@@ -0,0 +1,120 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.api.risk.caseappeal;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件上诉申请)
+ * File: LoanCaseAppealApplyVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealApplyVo
+ * Description: 案件上诉申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-06 10:26:59
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件上诉申请 视图数据详情", description = "案件上诉申请 视图数据详情")
+public class AppCaseAppealApplyDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("申请部门-申请人")
+ private String publishInfo;
+ @ApiModelProperty("申请日期")
+ private String time;
+ @ApiModelProperty("案件创建日期")
+ private String caseCreateDate;
+ @ApiModelProperty("公司负责人")
+ private String compHead;
+ @ApiModelProperty("法务部门负责人")
+ private String legalDeptHead;
+ @ApiModelProperty("案件编号")
+ private String caseNo;
+ @ApiModelProperty("案件类型")
+ private String caseType;
+ @ApiModelProperty("贷款合同编号")
+ private String loanContract;
+ @ApiModelProperty("贷款人")
+ private String lenderName;
+ @ApiModelProperty("贷款人证件号码")
+ private String lenderIdNo;
+ @ApiModelProperty("贷款人户籍/注册地址")
+ private String lenderAddress;
+ @ApiModelProperty("客户")
+ private String customName;
+ @ApiModelProperty("资方")
+ private String bankName;
+ @ApiModelProperty("资方合同编号")
+ private String bankContract;
+ @ApiModelProperty("欠款合计")
+ private String arrearsTotal;
+ @ApiModelProperty("是否全额诉讼")
+ private String isFullLitigation;
+ @ApiModelProperty("起诉金额合计")
+ private String sueMoneyTotal;
+ @ApiModelProperty("部分诉讼说明")
+ private String partProceRemarks;
+ @ApiModelProperty("判决日期")
+ private String judgDate;
+ @ApiModelProperty("判决结果")
+ private String judgResult;
+ @ApiModelProperty("判决金额")
+ private String judgMoney;
+ @ApiModelProperty("领取判决书日期")
+ private String receivejudgDate;
+ @ApiModelProperty("判决备注")
+ private String judgRemarks;
+ @ApiModelProperty("案件阶段")
+ private String caseStage;
+ @ApiModelProperty("预上/应诉日期")
+ private String expectDate;
+ @ApiModelProperty("上诉到期日期")
+ private String appealDueDate;
+ @ApiModelProperty("备注")
+ private String remarks;
+ @ApiModelProperty("流程实例的sid")
+ private String procInsId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+
+ @ApiModelProperty
+ private List appPjclFiles;
+ @ApiModelProperty
+ private List appYsclFiles;
+ @ApiModelProperty("上诉车辆")
+ private List appCaseAppealVehList;
+}
\ No newline at end of file
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealVehDetailsVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealVehDetailsVo.java
new file mode 100644
index 0000000000..2930c0dfd2
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/AppCaseAppealVehDetailsVo.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.api.risk.caseappeal;
+
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件上诉申请)
+ * File: LoanCaseAppealVehVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancaseappealveh.LoanCaseAppealVehVo
+ * Description: 案件上诉车辆 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-06 10:26:59
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件上诉车辆 视图数据详情", description = "案件上诉车辆 视图数据详情")
+public class AppCaseAppealVehDetailsVo implements Vo {
+
+ private String sid;
+
+ @ApiModelProperty("车架号")
+ private String vinNo;
+ @ApiModelProperty("车牌号")
+ private String carNum;
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany;
+ @ApiModelProperty("车辆状态")
+ private String carState;
+ @ApiModelProperty("备注")
+ private String remarks;
+
+}
\ No newline at end of file
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeign.java
new file mode 100644
index 0000000000..f7d12d481e
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeign.java
@@ -0,0 +1,61 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal;
+
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.AppCaseAppealDelegateQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CompleteCaseAppealDto;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealTaskQuery;
+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.*;
+
+/**
+ * @Author
+ * @Date
+ * @Description
+ */
+@Api(tags = "案件上诉管理")
+@FeignClient(
+ contextId = "terminal-CaseAppeal",
+ name = "anrui-terminal",
+ path = "riskcenter/v1/caseAppeal",
+ fallback = CaseAppealFeignFallback.class)
+public interface CaseAppealFeign {
+
+ @ApiOperation("办理")
+ @PutMapping("/agreeCreditInfo")
+ @ResponseBody
+ ResultBean agreeCreditInfo(@RequestBody CompleteCaseAppealDto dto);
+
+ @ApiOperation("驳回")
+ @PutMapping("/rejectCreditInfo")
+ @ResponseBody
+ ResultBean rejectCreditInfo(@RequestBody CaseAppealTaskQuery query);
+
+ @ApiOperation("撤回")
+ @PutMapping("/recallCreditInfo")
+ @ResponseBody
+ ResultBean recallCreditInfo(@RequestBody CaseAppealTaskQuery query);
+
+ @ApiOperation("终止")
+ @PutMapping("/stopCreditInfo")
+ @ResponseBody
+ ResultBean stopCreditInfo(@RequestBody CaseAppealTaskQuery query);
+
+ @ApiOperation("获取流程操作标题")
+ @GetMapping("/getFlowOperateTitle")
+ @ResponseBody
+ ResultBean getFlowOperateTitle(@SpringQueryMap CaseAppealQuery query);
+
+ @ApiOperation(value = "加签")
+ @PutMapping(value = "/delegate")
+ @ResponseBody
+ public ResultBean delegate(@RequestBody AppCaseAppealDelegateQuery delegateQuery);
+
+ @ApiOperation("案件上诉详情")
+ @GetMapping("/details/{sid}")
+ @ResponseBody
+ public ResultBean collectionDetail(@PathVariable("sid") String sid);
+}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeignFallback.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeignFallback.java
new file mode 100644
index 0000000000..69e2a196fe
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/CaseAppealFeignFallback.java
@@ -0,0 +1,12 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * @description:
+ * @author: dimengzhe
+ * @date: 2023/8/8
+ **/
+@Component
+public class CaseAppealFeignFallback {
+}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/AppCaseAppealDelegateQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/AppCaseAppealDelegateQuery.java
new file mode 100644
index 0000000000..4026582105
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/AppCaseAppealDelegateQuery.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal.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 AppCaseAppealDelegateQuery {
+ @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/caseappeal/flowable/CaseAppealQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CaseAppealQuery.java
new file mode 100644
index 0000000000..2b477549fe
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CaseAppealQuery.java
@@ -0,0 +1,17 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+@Data
+public class CaseAppealQuery implements Query {
+ private static final long serialVersionUID = -3563282658560745370L;
+
+ @ApiModelProperty(value = "节点key")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+ @ApiModelProperty(value = "0 上一环节 1下一环节")
+ private Integer next;
+}
diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CaseAppealTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CaseAppealTaskQuery.java
new file mode 100644
index 0000000000..df876b2e68
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CaseAppealTaskQuery.java
@@ -0,0 +1,42 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal.flowable;
+
+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;
+
+@Data
+public class CaseAppealTaskQuery implements Query {
+ private static final long serialVersionUID = -6952737531036706114L;
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @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/caseappeal/flowable/CompleteCaseAppealDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CompleteCaseAppealDto.java
new file mode 100644
index 0000000000..35789af545
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/caseappeal/flowable/CompleteCaseAppealDto.java
@@ -0,0 +1,34 @@
+package com.yxt.anrui.terminal.api.risk.caseappeal.flowable;
+
+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;
+
+@Data
+public class CompleteCaseAppealDto implements Dto {
+ private static final long serialVersionUID = 7978653524636034916L;
+
+ @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;
+
+ private String orgPath;
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealRest.java
new file mode 100644
index 0000000000..adaa36e4e3
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealRest.java
@@ -0,0 +1,86 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.biz.risk.caseappeal;
+
+import com.yxt.anrui.terminal.api.risk.caseappeal.AppCaseAppealApplyDetailsVo;
+import com.yxt.anrui.terminal.api.risk.caseappeal.CaseAppealFeign;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.AppCaseAppealDelegateQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealTaskQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CompleteCaseAppealDto;
+import com.yxt.anrui.terminal.api.risk.vehclearance.AppVehClearanceApplyDetailsVo;
+import com.yxt.anrui.terminal.api.risk.vehclearance.VehClearanceFeign;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.AppVehClearanceDelegateQuery;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.CompleteVehClearanceDto;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.VehClearanceQuery;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.VehClearanceTaskQuery;
+import com.yxt.common.core.result.ResultBean;
+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/caseAppeal")
+public class CaseAppealRest implements CaseAppealFeign {
+
+ @Autowired
+ private CaseAppealService beCollectionService;
+
+ @Override
+ public ResultBean agreeCreditInfo(CompleteCaseAppealDto dto) {
+ return beCollectionService.agreeCreditInfo(dto);
+ }
+
+ @Override
+ public ResultBean rejectCreditInfo(CaseAppealTaskQuery query) {
+ return beCollectionService.rejectCreditInfo(query);
+ }
+
+ @Override
+ public ResultBean recallCreditInfo(CaseAppealTaskQuery query) {
+ return beCollectionService.recallCreditInfo(query);
+ }
+
+ @Override
+ public ResultBean stopCreditInfo(CaseAppealTaskQuery query) {
+ return beCollectionService.stopCreditInfo(query);
+ }
+
+ @Override
+ public ResultBean getFlowOperateTitle(CaseAppealQuery query) {
+ return beCollectionService.getFlowOperateTitle(query);
+ }
+
+ @Override
+ public ResultBean delegate(AppCaseAppealDelegateQuery delegateQuery) {
+ return beCollectionService.delegate(delegateQuery);
+ }
+
+ @Override
+ public ResultBean collectionDetail(String sid) {
+ return beCollectionService.collectionDetail(sid);
+ }
+}
diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealService.java
new file mode 100644
index 0000000000..825d5ef2d7
--- /dev/null
+++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/caseappeal/CaseAppealService.java
@@ -0,0 +1,188 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.terminal.biz.risk.caseappeal;
+
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealApplyDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealApplyFeign;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealFile;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.flowable.*;
+import com.yxt.anrui.riskcenter.api.loancaseappealveh.LoanCaseAppealVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
+import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceapply.LoanVehClearanceApplyDetailsVo;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceapply.LoanVehClearanceApplyFeign;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceapply.LoanVehClearanceFileVo;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceapply.flowable.*;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehFile;
+import com.yxt.anrui.terminal.api.base.common.CarModelVo;
+import com.yxt.anrui.terminal.api.risk.caseappeal.AppCaseAppealApplyDetailsVo;
+import com.yxt.anrui.terminal.api.risk.caseappeal.AppCaseAppealVehDetailsVo;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.AppCaseAppealDelegateQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CaseAppealTaskQuery;
+import com.yxt.anrui.terminal.api.risk.caseappeal.flowable.CompleteCaseAppealDto;
+import com.yxt.anrui.terminal.api.risk.loanhomevisitinvestigate.AppLoanHomeVisitVo;
+import com.yxt.anrui.terminal.api.risk.vehclearance.AppVehClearanceApplyDetailsVo;
+import com.yxt.anrui.terminal.api.risk.vehclearance.AppVehClearanceVehDetailsVo;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.AppVehClearanceDelegateQuery;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.CompleteVehClearanceDto;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.VehClearanceQuery;
+import com.yxt.anrui.terminal.api.risk.vehclearance.flowable.VehClearanceTaskQuery;
+import com.yxt.anrui.terminal.biz.base.common.CommonService;
+import com.yxt.common.core.result.ResultBean;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+@Service
+public class CaseAppealService {
+
+ @Autowired
+ private LoanCaseAppealApplyFeign loanCaseAppealApplyFeign;
+ @Autowired
+ private LoanSolutionsFeign loanSolutionsFeign;
+ @Autowired
+ private CommonService commonService;
+
+ public ResultBean agreeCreditInfo(CompleteCaseAppealDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyCompleteDto loanCaseAppealApplyCompleteDto = new LoanCaseAppealApplyCompleteDto();
+ BeanUtil.copyProperties(dto, loanCaseAppealApplyCompleteDto);
+ loanCaseAppealApplyFeign.complete(loanCaseAppealApplyCompleteDto);
+ return rb.success();
+ }
+
+ public ResultBean rejectCreditInfo(CaseAppealTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyTaskQuery taskQuery = new LoanCaseAppealApplyTaskQuery();
+ BeanUtil.copyProperties(query, taskQuery);
+ ResultBean resultBean = loanCaseAppealApplyFeign.reject(taskQuery);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ return rb.success().setData(resultBean.getData());
+ }
+
+ public ResultBean recallCreditInfo(CaseAppealTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyTaskQuery taskQuery = new LoanCaseAppealApplyTaskQuery();
+ BeanUtil.copyProperties(query, taskQuery);
+ ResultBean resultBean = loanCaseAppealApplyFeign.revokeProcess(taskQuery);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ return rb.success().setData(resultBean.getData());
+ }
+
+ public ResultBean stopCreditInfo(CaseAppealTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyTaskQuery taskQuery = new LoanCaseAppealApplyTaskQuery();
+ BeanUtil.copyProperties(query, taskQuery);
+ ResultBean resultBean = loanCaseAppealApplyFeign.breakProcess(taskQuery);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ return rb.success().setData(resultBean.getData());
+ }
+
+ public ResultBean getFlowOperateTitle(CaseAppealQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ //0 上一环节 1下一环节
+ int next = query.getNext();
+ LoanCaseAppealApplyNodeQuery getNodeQuery = new LoanCaseAppealApplyNodeQuery();
+ BeanUtil.copyProperties(query, getNodeQuery);
+ String data = "";
+ if (next == 0) {
+ ResultBean> previousNodesForReject = loanCaseAppealApplyFeign.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 = loanCaseAppealApplyFeign.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(AppCaseAppealDelegateQuery delegateQuery) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyDelegateQuery delegateQuery1 = new
+ LoanCaseAppealApplyDelegateQuery();
+ BeanUtil.copyProperties(delegateQuery, delegateQuery1);
+ loanCaseAppealApplyFeign.delegate(delegateQuery1);
+ return rb.success();
+ }
+
+ public ResultBean collectionDetail(String sid) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseAppealApplyDetailsVo loanCaseAppealApplyDetailsVo = loanCaseAppealApplyFeign.fetchDetailsBySid(sid).getData();
+ AppCaseAppealApplyDetailsVo appCaseAppealApplyDetailsVo = new AppCaseAppealApplyDetailsVo();
+ BeanUtil.copyProperties(loanCaseAppealApplyDetailsVo,appCaseAppealApplyDetailsVo);
+ appCaseAppealApplyDetailsVo.setPublishInfo(loanCaseAppealApplyDetailsVo.getDeptName() + "-" + loanCaseAppealApplyDetailsVo.getCreateByName());
+ appCaseAppealApplyDetailsVo.setTime(loanCaseAppealApplyDetailsVo.getCreateTime());
+ appCaseAppealApplyDetailsVo.setProcInsId(loanCaseAppealApplyDetailsVo.getProcInstSid());
+ List pjclFiles = loanCaseAppealApplyDetailsVo.getPjclFiles();
+ List appPjcl = new ArrayList<>();
+ if (pjclFiles != null && pjclFiles.size() > 0){
+ for (LoanCaseAppealFile file : pjclFiles) {
+ appPjcl.add(file.getUrl());
+ }
+ }
+ List ysclFiles = loanCaseAppealApplyDetailsVo.getYsclFiles();
+ List appYscl = new ArrayList<>();
+ if (ysclFiles != null && ysclFiles.size() > 0){
+ for (LoanCaseAppealFile file : ysclFiles) {
+ appYscl.add(file.getUrl());
+ }
+ }
+ appCaseAppealApplyDetailsVo.setAppYsclFiles(appYscl);
+ List loanCaseAppealVehList = loanCaseAppealApplyDetailsVo.getLoanCaseAppealVehList();
+ List appCaseAppealVehDetailsVos = new ArrayList<>();
+ for (LoanCaseAppealVehDetailsVo loanCaseAppealVehDetailsVo : loanCaseAppealVehList) {
+ AppCaseAppealVehDetailsVo appCaseAppealVehDetailsVo = new AppCaseAppealVehDetailsVo();
+ BeanUtil.copyProperties(loanCaseAppealVehDetailsVo,appCaseAppealVehDetailsVo);
+ appCaseAppealVehDetailsVos.add(appCaseAppealVehDetailsVo);
+ }
+ appCaseAppealApplyDetailsVo.setAppCaseAppealVehList(appCaseAppealVehDetailsVos);
+ return rb.success().setData(appCaseAppealApplyDetailsVo);
+ }
+}
\ No newline at end of file