diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApply.java
new file mode 100644
index 0000000000..e6f12ac447
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApply.java
@@ -0,0 +1,128 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApply.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApply
+ * Description: 案件结案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案申请", description = "案件结案申请")
+@TableName("loan_case_close_apply")
+public class LoanCaseCloseApply extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("创建人")
+ private String createByName; // 创建人
+ @ApiModelProperty("申请编号")
+ private String billNo; // 申请编号
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @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 finalJudgMoney; // 最终判决金额
+ @ApiModelProperty("回款金额")
+ private String returnMoney; // 回款金额
+ @ApiModelProperty("未回款金额")
+ private String notReturnMoney; // 未回款金额
+ @ApiModelProperty("执行措施")
+ private String executeMeasure; // 执行措施
+ @ApiModelProperty("执行说明")
+ private String executeRemarks; // 执行说明
+ @ApiModelProperty("结案方式key")
+ private String closeTypeKey; // 结案方式key
+ @ApiModelProperty("结案方式value")
+ private String closeTypeValue; // 结案方式value
+ @ApiModelProperty("结案日期")
+ private String closeDate; // 结案日期
+ @ApiModelProperty("结案说明")
+ private String closeRemarks; // 结案说明
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @ApiModelProperty("组织全路径")
+ private String orgPath; // 组织全路径
+ @ApiModelProperty("流程定义的id")
+ private String procDefId; // 流程定义的id
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid; // 环节定义的sid
+ @ApiModelProperty("流程实例的sid")
+ private String procInstSid; // 流程实例的sid
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDetailsVo.java
new file mode 100644
index 0000000000..440ba63d55
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDetailsVo.java
@@ -0,0 +1,137 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto;
+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: LoanCaseCloseApplyVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyVo
+ * Description: 案件结案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案申请 视图数据详情", description = "案件结案申请 视图数据详情")
+public class LoanCaseCloseApplyDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("创建人")
+ private String createByName; // 创建人
+ @ApiModelProperty("申请编号")
+ private String billNo; // 申请编号
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @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 finalJudgMoney; // 最终判决金额
+ @ApiModelProperty("回款金额")
+ private String returnMoney; // 回款金额
+ @ApiModelProperty("未回款金额")
+ private String notReturnMoney; // 未回款金额
+ @ApiModelProperty("执行措施")
+ private String executeMeasure; // 执行措施
+ @ApiModelProperty("执行说明")
+ private String executeRemarks; // 执行说明
+ @ApiModelProperty("结案方式key")
+ private String closeTypeKey; // 结案方式key
+ @ApiModelProperty("结案方式value")
+ private String closeTypeValue; // 结案方式value
+ @ApiModelProperty("结案日期")
+ private String closeDate; // 结案日期
+ @ApiModelProperty("结案说明")
+ private String closeRemarks; // 结案说明
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @ApiModelProperty("组织全路径")
+ private String orgPath; // 组织全路径
+ @ApiModelProperty("流程定义的id")
+ private String procDefId; // 流程定义的id
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid; // 环节定义的sid
+ @ApiModelProperty("流程实例的sid")
+ private String procInstSid; // 流程实例的sid
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+
+ @ApiModelProperty
+ private List jaclFiles;
+ @ApiModelProperty("上诉车辆")
+ private List loanCaseCloseVehList;
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDto.java
new file mode 100644
index 0000000000..f175a502b0
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyDto.java
@@ -0,0 +1,138 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.LoanCaseExecuteFile;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDto;
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyDto.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyDto
+ * Description: 案件结案申请 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案申请 数据传输对象", description = "案件结案申请 数据传输对象")
+public class LoanCaseCloseApplyDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("创建人")
+ private String createByName; // 创建人
+ @ApiModelProperty("申请编号")
+ private String billNo; // 申请编号
+ @ApiModelProperty("申请部门sid")
+ private String deptSid; // 申请部门sid
+ @ApiModelProperty("申请部门名称")
+ private String deptName; // 申请部门名称
+ @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 finalJudgMoney; // 最终判决金额
+ @ApiModelProperty("回款金额")
+ private String returnMoney; // 回款金额
+ @ApiModelProperty("未回款金额")
+ private String notReturnMoney; // 未回款金额
+ @ApiModelProperty("执行措施")
+ private String executeMeasure; // 执行措施
+ @ApiModelProperty("执行说明")
+ private String executeRemarks; // 执行说明
+ @ApiModelProperty("结案方式key")
+ private String closeTypeKey; // 结案方式key
+ @ApiModelProperty("结案方式value")
+ private String closeTypeValue; // 结案方式value
+ @ApiModelProperty("结案日期")
+ private String closeDate; // 结案日期
+ @ApiModelProperty("结案说明")
+ private String closeRemarks; // 结案说明
+ @ApiModelProperty("分公司sid")
+ private String useOrgSid; // 分公司sid
+ @ApiModelProperty("分公司名称")
+ private String useOrgName; // 分公司名称
+ @ApiModelProperty("组织全路径")
+ private String orgPath; // 组织全路径
+ @ApiModelProperty("流程定义的id")
+ private String procDefId; // 流程定义的id
+ @ApiModelProperty("环节定义的sid")
+ private String nodeSid; // 环节定义的sid
+ @ApiModelProperty("流程实例的sid")
+ private String procInstSid; // 流程实例的sid
+ @ApiModelProperty("流程状态")
+ private String nodeState; // 流程状态
+ @ApiModelProperty("任务id")
+ private String taskId; // 任务id
+
+ @ApiModelProperty
+ private List jaclFiles;
+ @ApiModelProperty("上诉车辆")
+ private List loanCaseCloseVehList;
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeign.java
new file mode 100644
index 0000000000..dbd5f4a3c1
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeign.java
@@ -0,0 +1,114 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.flowable.*;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.cloud.openfeign.SpringQueryMap;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyFeign.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyFeign
+ * Description: 案件结案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "案件结案申请")
+@FeignClient(
+ contextId = "anrui-riskcenter-LoanCaseCloseApply",
+ name = "anrui-riskcenter",
+ path = "v1/loancasecloseapply",
+ fallback = LoanCaseCloseApplyFeignFallback.class)
+public interface LoanCaseCloseApplyFeign {
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ResultBean> listPage(@RequestBody PagerQuery pq);
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ @ResponseBody
+ public ResultBean save(@RequestBody LoanCaseCloseApplyDto dto);
+
+ @ApiOperation("根据sid删除记录")
+ @DeleteMapping("/delBySids")
+ @ResponseBody
+ public ResultBean delBySids(@RequestBody String[] sids);
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ @ResponseBody
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+
+ @ApiOperation("提交审批流程")
+ @PostMapping("/submit")
+ public ResultBean submit(@RequestBody @Valid SubmitLoanCaseCloseApplyDto dto);
+
+ @ApiOperation(value = "办理(同意)")
+ @PostMapping("/complete")
+ public ResultBean complete(@Valid @RequestBody LoanCaseCloseApplyCompleteDto query);
+
+ @ApiOperation(value = "获取上一个环节")
+ @GetMapping(value = "/getPreviousNodesForReject")
+ ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap LoanCaseCloseApplyNodeQuery query);
+
+ @ApiOperation(value = "获取下一个环节")
+ @GetMapping(value = "/getNextNodesForSubmit")
+ ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap LoanCaseCloseApplyNodeQuery query);
+
+ @ApiOperation(value = "驳回任务")
+ @PostMapping(value = "/reject")
+ public ResultBean reject(@Valid @RequestBody LoanCaseCloseApplyTaskQuery query);
+
+ @ApiOperation(value = "撤回流程")
+ @PostMapping(value = "/revokeProcess")
+ public ResultBean revokeProcess(@Valid @RequestBody LoanCaseCloseApplyTaskQuery query);
+
+ @ApiOperation(value = "终止任务")
+ @PostMapping(value = "/breakProcess")
+ public ResultBean breakProcess(@Valid @RequestBody LoanCaseCloseApplyTaskQuery query);
+
+ @ApiOperation(value = "加签")
+ @PostMapping(value = "/delegate")
+ public ResultBean delegate(@RequestBody LoanCaseCloseApplyDelegateQuery query);
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeignFallback.java
new file mode 100644
index 0000000000..9c3f8a75c6
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyFeignFallback.java
@@ -0,0 +1,113 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyFeignFallback.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyFeignFallback
+ * Description: 案件结案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class LoanCaseCloseApplyFeignFallback implements LoanCaseCloseApplyFeign {
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-riskcenter/loancasecloseapply/listPage无法访问");
+ }
+
+ @Override
+ public ResultBean save(LoanCaseCloseApplyDto dto){
+ return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loancasecloseapply/save无法访问");
+ }
+
+ @Override
+ public ResultBean delBySids( String[] sids){
+ return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loancasecloseapply/delBySids无法访问");
+ }
+
+ @Override
+ public ResultBean fetchDetailsBySid(String sid){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-riskcenter/loancasecloseapply/fetchDetailsBySid无法访问");
+ }
+
+ @Override
+ public ResultBean submit(SubmitLoanCaseCloseApplyDto dto) {
+ return null;
+ }
+
+ @Override
+ public ResultBean complete(LoanCaseCloseApplyCompleteDto query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(LoanCaseCloseApplyNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(LoanCaseCloseApplyNodeQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean reject(LoanCaseCloseApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanCaseCloseApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanCaseCloseApplyTaskQuery query) {
+ return null;
+ }
+
+ @Override
+ public ResultBean delegate(LoanCaseCloseApplyDelegateQuery query) {
+ return null;
+ }
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyQuery.java
new file mode 100644
index 0000000000..23327c27af
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyQuery.java
@@ -0,0 +1,82 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyQuery.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyQuery
+ * Description: 案件结案申请 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案申请 查询条件", description = "案件结案申请 查询条件")
+public class LoanCaseCloseApplyQuery implements Query {
+
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
+ @ApiModelProperty("申请部门名称")
+ private String deptName;
+ @ApiModelProperty("创建人")
+ private String createByName;
+ @ApiModelProperty("申请开始日期")
+ private String createStartTime;
+ @ApiModelProperty("申请结束日期")
+ private String createEndTime;
+ @ApiModelProperty("办结开始日期")
+ private String modifyStartTime;
+ @ApiModelProperty("办结结束日期")
+ private String modifyEndTime;
+ @ApiModelProperty("贷款合同编号")
+ private String loanContract;
+ @ApiModelProperty("客户")
+ private String customName;
+ @ApiModelProperty("贷款人")
+ private String lenderName;
+ @ApiModelProperty("结案方式")
+ private String closeTypeValue;
+ @ApiModelProperty("结案开始日期")
+ private String closeStartDate;
+ @ApiModelProperty("结案结束日期")
+ private String closeEndDate;
+
+ private String userSid;
+ private String orgPath;
+ private String menuUrl;
+ private String menuSid;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyVo.java
new file mode 100644
index 0000000000..6d687459b7
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseApplyVo.java
@@ -0,0 +1,86 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyVo
+ * Description: 案件结案申请 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案申请 视图数据对象", description = "案件结案申请 视图数据对象")
+public class LoanCaseCloseApplyVo implements Vo {
+
+ private String sid;
+
+ @ApiModelProperty("流程状态")
+ private String nodeState;
+ @ApiModelProperty("分公司名称")
+ private String useOrgName;
+ @ApiModelProperty("申请部门名称")
+ private String deptName;
+ @ApiModelProperty("创建人")
+ private String createByName;
+ @ApiModelProperty("申请日期")
+ @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
+ private Date createTime;
+ @ApiModelProperty("办结日期")
+ private String modifyTime;
+ @ApiModelProperty("贷款合同编号")
+ private String loanContract;
+ @ApiModelProperty("客户")
+ private String customName;
+ @ApiModelProperty("贷款人")
+ private String lenderName;
+ @ApiModelProperty("结案方式value")
+ private String closeTypeValue;
+ @ApiModelProperty("结案日期")
+ private String closeDate;
+ @ApiModelProperty("结案金额")
+ private String finalJudgMoney;
+ @ApiModelProperty("流程定义的id")
+ private String procDefId;
+ @ApiModelProperty("流程实例的sid")
+ private String procInstSid;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseFile.java
new file mode 100644
index 0000000000..ebedcc2e14
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/LoanCaseCloseFile.java
@@ -0,0 +1,35 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseapply;
+
+import com.yxt.common.core.vo.Vo;
+import lombok.Data;
+
+@Data
+public class LoanCaseCloseFile implements Vo {
+
+ private String url;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyCompleteDto.java
new file mode 100644
index 0000000000..c41f958451
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyCompleteDto.java
@@ -0,0 +1,37 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import com.yxt.common.core.dto.Dto;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 14:57
+ * @Description
+ */
+@Data
+public class LoanCaseCloseApplyCompleteDto implements Dto {
+ private static final long serialVersionUID = 6378752532534735663L;
+
+ @ApiModelProperty(value = "用户sid")
+ private String userSid;
+ @ApiModelProperty(value = "节点id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "任务id")
+ @NotBlank(message = "参数错误:taskId")
+ private String taskId;
+ @ApiModelProperty(value = "流程id(PC)")
+ private String instanceId;
+ @ApiModelProperty(value = "流程id(移动)")
+ private String procInsId;
+ @ApiModelProperty(value = "意见")
+ private String comment;
+ @ApiModelProperty(value = "业务sid")
+ @NotBlank(message = "参数错误:businessSid")
+ private String businessSid;
+
+ private String orgPath;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyDelegateQuery.java
new file mode 100644
index 0000000000..9780583326
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyDelegateQuery.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author Administrator
+ * @description
+ * @date 2023/9/28 9:28
+ */
+@Data
+public class LoanCaseCloseApplyDelegateQuery {
+ @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-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeQuery.java
new file mode 100644
index 0000000000..c9b4adfd01
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeQuery.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:04
+ * @Description
+ */
+@Data
+public class LoanCaseCloseApplyNodeQuery implements Query {
+ private static final long serialVersionUID = 9117613683840483366L;
+
+ @ApiModelProperty(value = "环节定义id")
+ @NotBlank(message = "参数错误:taskDefKey")
+ private String taskDefKey;
+ @ApiModelProperty(value = "业务sid")
+ private String businessSid;
+ @ApiModelProperty(value = "0 上一环节 1下一环节")
+ private Integer next;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeVo.java
new file mode 100644
index 0000000000..25472d67e4
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyNodeVo.java
@@ -0,0 +1,26 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import com.yxt.common.core.vo.Vo;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:03
+ * @Description
+ */
+@Data
+public class LoanCaseCloseApplyNodeVo implements Vo {
+ private static final long serialVersionUID = -833419512294877848L;
+
+ @ApiModelProperty(value = "节点名称")
+ private String name;
+ @ApiModelProperty(value = "节点id")
+ private String id;
+ @ApiModelProperty(value = "审批组")
+ private List candidateGroups;
+ @ApiModelProperty(value = "是否是最后环节")
+ private String endTask;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyTaskQuery.java
new file mode 100644
index 0000000000..caf4eca7d0
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/LoanCaseCloseApplyTaskQuery.java
@@ -0,0 +1,48 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import com.yxt.common.core.query.Query;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+
+/**
+ * @Author dimengzhe
+ * @Date 2022/9/6 15:06
+ * @Description
+ */
+@Data
+public class LoanCaseCloseApplyTaskQuery implements Query {
+ private static final long serialVersionUID = 1288615499873178778L;
+
+ /**
+ * 终止、驳回、撤回
+ */
+ @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(PC)")
+ private String instanceId;
+
+ @ApiModelProperty("流程实例Id(移动)")
+ private String procInsId;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/SubmitLoanCaseCloseApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/SubmitLoanCaseCloseApplyDto.java
new file mode 100644
index 0000000000..10faa3c7e1
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseapply/flowable/SubmitLoanCaseCloseApplyDto.java
@@ -0,0 +1,25 @@
+package com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable;
+
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealApplyDto;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyDto;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author liuguohui
+ * @version 1.0
+ * @description
+ * @date 2022/04/13
+ */
+@ApiModel("提交")
+@Data
+public class SubmitLoanCaseCloseApplyDto extends LoanCaseCloseApplyDto {
+
+ @ApiModelProperty("意见")
+ private String comment;
+ @ApiModelProperty("流程实例id")
+ private String instanceId;
+ @ApiModelProperty("任务id")
+ private String taskId;
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVeh.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVeh.java
new file mode 100644
index 0000000000..794ce24ce2
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVeh.java
@@ -0,0 +1,64 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.yxt.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVeh.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVeh
+ * Description: 案件结案车辆.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案车辆", description = "案件结案车辆")
+@TableName("loan_case_close_veh")
+public class LoanCaseCloseVeh extends BaseEntity {
+ private static final long serialVersionUID = 1L;
+
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车牌号")
+ private String carNum; // 车牌号
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany; // 挂靠公司
+ @ApiModelProperty("车辆状态")
+ private String carState; // 车辆状态
+ @ApiModelProperty("案件结案申请sid")
+ private String mainSid; // 案件结案申请sid
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDetailsVo.java
new file mode 100644
index 0000000000..f0dcbbaa0e
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDetailsVo.java
@@ -0,0 +1,65 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehVo
+ * Description: 案件结案车辆 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案车辆 视图数据详情", description = "案件结案车辆 视图数据详情")
+public class LoanCaseCloseVehDetailsVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车牌号")
+ private String carNum; // 车牌号
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany; // 挂靠公司
+ @ApiModelProperty("车辆状态")
+ private String carState; // 车辆状态
+ @ApiModelProperty("案件结案申请sid")
+ private String mainSid; // 案件结案申请sid
+
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDto.java
new file mode 100644
index 0000000000..1cdd5f25b4
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehDto.java
@@ -0,0 +1,65 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+
+import com.yxt.common.core.dto.Dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehDto.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto
+ * Description: 案件结案车辆 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案车辆 数据传输对象", description = "案件结案车辆 数据传输对象")
+public class LoanCaseCloseVehDto implements Dto {
+
+ private String sid; // sid
+
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车牌号")
+ private String carNum; // 车牌号
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany; // 挂靠公司
+ @ApiModelProperty("车辆状态")
+ private String carState; // 车辆状态
+ @ApiModelProperty("案件结案申请sid")
+ private String mainSid; // 案件结案申请sid
+
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeign.java
new file mode 100644
index 0000000000..e7724a209d
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeign.java
@@ -0,0 +1,78 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehFeign.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehFeign
+ * Description: 案件结案车辆.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "案件结案车辆")
+@FeignClient(
+ contextId = "anrui-riskcenter-LoanCaseCloseVeh",
+ name = "anrui-riskcenter",
+ path = "v1/loancasecloseveh",
+ fallback = LoanCaseCloseVehFeignFallback.class)
+public interface LoanCaseCloseVehFeign {
+
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ @ResponseBody
+ public ResultBean> listPage(@RequestBody PagerQuery pq);
+
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ @ResponseBody
+ public ResultBean save(@RequestBody LoanCaseCloseVehDto dto);
+
+ @ApiOperation("根据sid删除记录")
+ @DeleteMapping("/delBySids")
+ @ResponseBody
+ public ResultBean delBySids(@RequestBody String[] sids);
+
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ @ResponseBody
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid);
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeignFallback.java
new file mode 100644
index 0000000000..1839772e25
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehFeignFallback.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehFeignFallback.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehFeignFallback
+ * Description: 案件结案车辆.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Component
+public class LoanCaseCloseVehFeignFallback implements LoanCaseCloseVehFeign {
+
+ @Override
+ public ResultBean> listPage(PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-riskcenter/loancasecloseveh/listPage无法访问");
+ }
+
+ @Override
+ public ResultBean save(LoanCaseCloseVehDto dto){
+ return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loancasecloseveh/save无法访问");
+ }
+
+ @Override
+ public ResultBean delBySids( String[] sids){
+ return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loancasecloseveh/delBySids无法访问");
+ }
+
+ @Override
+ public ResultBean fetchDetailsBySid(String sid){
+ ResultBean rb = ResultBean.fireFail();
+ return rb.setMsg("接口anrui-riskcenter/loancasecloseveh/fetchDetailsBySid无法访问");
+ }
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehQuery.java
new file mode 100644
index 0000000000..57f1573803
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehQuery.java
@@ -0,0 +1,63 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+
+import com.yxt.common.core.query.Query;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehQuery.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehQuery
+ * Description: 案件结案车辆 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案车辆 查询条件", description = "案件结案车辆 查询条件")
+public class LoanCaseCloseVehQuery implements Query {
+
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车牌号")
+ private String carNum; // 车牌号
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany; // 挂靠公司
+ @ApiModelProperty("车辆状态")
+ private String carState; // 车辆状态
+ @ApiModelProperty("案件结案申请sid")
+ private String mainSid; // 案件结案申请sid
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehVo.java
new file mode 100644
index 0000000000..7f3c499430
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loancasecloseveh/LoanCaseCloseVehVo.java
@@ -0,0 +1,65 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.api.loancasecloseveh;
+
+
+import com.yxt.common.core.vo.Vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehVo.java
+ * Class: com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehVo
+ * Description: 案件结案车辆 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Data
+@ApiModel(value = "案件结案车辆 视图数据对象", description = "案件结案车辆 视图数据对象")
+public class LoanCaseCloseVehVo implements Vo {
+
+ private String sid; // sid
+
+ @ApiModelProperty("车架号")
+ private String vinNo; // 车架号
+ @ApiModelProperty("车牌号")
+ private String carNum; // 车牌号
+ @ApiModelProperty("挂靠公司")
+ private String affiliatedCompany; // 挂靠公司
+ @ApiModelProperty("车辆状态")
+ private String carState; // 车辆状态
+ @ApiModelProperty("案件结案申请sid")
+ private String mainSid; // 案件结案申请sid
+
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
index 9604d7c670..7a3b569807 100644
--- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
+++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
@@ -49,6 +49,7 @@ public enum LoanFileEnum {
ANSWERRELATE("035", "案件上诉-应诉材料"),
AJZXLA_JUDGMENT("036", "案件执行立案-判决材料"),
EXECUTE("037", "案件执行立案-执行材料"),
+ CLOSE("038", "案件结案-结案材料"),
;
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.java
new file mode 100644
index 0000000000..a35dd93b57
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.java
@@ -0,0 +1,72 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseapply;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApply;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyVo;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyMapper.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseapply.LoanCaseCloseApplyMapper
+ * Description: 案件结案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface LoanCaseCloseApplyMapper extends BaseMapper {
+
+ //@Update("update loan_case_close_apply set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from loan_case_close_apply")
+ List selectListVo();
+
+ String selectNum(String billNo);
+
+ int selectBySid(String join);
+
+ int updateFlowFiled(Map map);
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.xml
new file mode 100644
index 0000000000..62750fb510
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyMapper.xml
@@ -0,0 +1,43 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ UPDATE loan_case_close_apply
+ SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}, modifyTime = NOW()
+
+ , procDefId=#{procDefId}
+
+
+ , procInstSid=#{procInsId}
+
+
+ , taskId=#{taskId}
+
+ WHERE sid=#{sid}
+
+
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyRest.java
new file mode 100644
index 0000000000..19d89078b7
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyRest.java
@@ -0,0 +1,145 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable.*;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApply;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyQuery;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyDto;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.LoanCaseCloseApplyFeign;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyFeignFallback.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseapply.LoanCaseCloseApplyRest
+ * Description: 案件结案申请.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "案件结案申请")
+@RestController("com.yxt.anrui.riskcenter.biz.loancasecloseapply.LoanCaseCloseApplyRest")
+@RequestMapping("v1/loancasecloseapply")
+public class LoanCaseCloseApplyRest implements LoanCaseCloseApplyFeign {
+
+ @Autowired
+ private LoanCaseCloseApplyService loanCaseCloseApplyService;
+
+ @Override
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = loanCaseCloseApplyService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @Override
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody LoanCaseCloseApplyDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ loanCaseCloseApplyService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @Override
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ return loanCaseCloseApplyService.delAll(sids);
+ }
+
+ @Override
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseCloseApplyDetailsVo vo = loanCaseCloseApplyService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+
+ @Override
+ public ResultBean submit(SubmitLoanCaseCloseApplyDto dto) {
+ return loanCaseCloseApplyService.submit(dto);
+ }
+
+ @Override
+ public ResultBean complete(LoanCaseCloseApplyCompleteDto query) {
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId(ProcDefEnum.LOANCASECLOSEAPPLY.getProDefId());
+ return loanCaseCloseApplyService.complete(bv);
+ }
+
+ @Override
+ public ResultBean> getPreviousNodesForReject(LoanCaseCloseApplyNodeQuery query) {
+ return loanCaseCloseApplyService.getPreviousNodesForReject(query);
+ }
+
+ @Override
+ public ResultBean> getNextNodesForSubmit(LoanCaseCloseApplyNodeQuery query) {
+ return loanCaseCloseApplyService.getNextNodesForSubmit(query);
+ }
+
+ @Override
+ public ResultBean reject(LoanCaseCloseApplyTaskQuery query) {
+ return loanCaseCloseApplyService.reject(query);
+ }
+
+ @Override
+ public ResultBean revokeProcess(LoanCaseCloseApplyTaskQuery query) {
+ return loanCaseCloseApplyService.revokeProcess(query);
+ }
+
+ @Override
+ public ResultBean breakProcess(LoanCaseCloseApplyTaskQuery query) {
+ return loanCaseCloseApplyService.breakProcess(query);
+ }
+
+ @Override
+ public ResultBean delegate(LoanCaseCloseApplyDelegateQuery query) {
+ return loanCaseCloseApplyService.delegate(query);
+ }
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java
new file mode 100644
index 0000000000..e410537165
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseapply/LoanCaseCloseApplyService.java
@@ -0,0 +1,616 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseapply;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yxt.anrui.base.common.utils.Rule;
+import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery;
+import com.yxt.anrui.flowable.api.flow.FlowableFeign;
+import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
+import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
+import com.yxt.anrui.flowable.api.flow2.FlowFeign;
+import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
+import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
+import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
+import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
+import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
+import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
+import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
+import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
+import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.LoanCaseAppealApply;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.flowable.LoanCaseAppealApplyNodeVo;
+import com.yxt.anrui.riskcenter.api.loancaseappealapply.flowable.SubmitLoanCaseAppealApplyDto;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.*;
+import com.yxt.anrui.riskcenter.api.loancasecloseapply.flowable.*;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.LoanCaseExecuteApplyVo;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteapply.LoanCaseExecuteFile;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancaseexecuteveh.LoanCaseExecuteVehDto;
+import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
+import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
+import com.yxt.anrui.riskcenter.biz.loancasecloseveh.LoanCaseCloseVehService;
+import com.yxt.anrui.riskcenter.biz.loancaseexecuteveh.LoanCaseExecuteVehService;
+import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
+import com.yxt.common.base.config.component.FileUploadComponent;
+import com.yxt.messagecenter.api.message.MessageFeign;
+import com.yxt.messagecenter.api.message.MessageFlowVo;
+import com.yxt.messagecenter.api.message.MessageFlowableQuery;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+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.util.*;
+import java.util.stream.Collectors;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseApplyService.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseapply.LoanCaseCloseApplyService
+ * Description: 案件结案申请 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class LoanCaseCloseApplyService extends MybatisBaseService {
+
+ @Autowired
+ private SysUserFeign sysUserFeign;
+ @Autowired
+ private SysOrganizationFeign sysOrganizationFeign;
+ @Autowired
+ private LoanCaseCloseVehService loanCaseCloseVehService;
+ @Autowired
+ private FileUploadComponent fileUploadComponent;
+ @Autowired
+ private LoanFileService loanFileService;
+ @Autowired
+ private FlowableFeign flowableFeign;
+ @Autowired
+ private MessageFeign messageFeign;
+ @Autowired
+ private FlowTaskFeign flowTaskFeign;
+ @Autowired
+ private FlowFeign flowFeign;
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ LoanCaseCloseApplyQuery query = pq.getParams();
+ QueryWrapper qw = new QueryWrapper<>();
+ //========================================数据授权开始
+ if (StringUtils.isNotBlank(query.getMenuUrl())) {
+ PrivilegeQuery privilegeQuery = new PrivilegeQuery();
+ privilegeQuery.setOrgPath(query.getOrgPath());
+ privilegeQuery.setMenuUrl(query.getMenuUrl());
+ privilegeQuery.setMenuSid(query.getMenuSid());
+ privilegeQuery.setUserSid(query.getUserSid());
+ ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
+ if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
+ //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
+ String orgSidPath = query.getOrgPath();
+ orgSidPath = orgSidPath + "/";
+ int i1 = orgSidPath.indexOf("/");
+ int i2 = orgSidPath.indexOf("/", i1 + 1);
+ int i3 = orgSidPath.indexOf("/", i2 + 1);
+ int i4 = orgSidPath.indexOf("/", i3 + 1);
+ String orgLevelKey = defaultIdReltBean.getData();
+ if ("1".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i1);
+ qw.like("orgPath", orgSidPath);
+ } else if ("2".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i2);
+ qw.like("orgPath", orgSidPath);
+ } else if ("3".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i3);
+ qw.like("orgPath", orgSidPath);
+ } else if ("4".equals(orgLevelKey)) {
+ orgSidPath = orgSidPath.substring(0, i4);
+ qw.like("orgPath", orgSidPath);
+ } else if ("5".equals(orgLevelKey)) {
+ qw.eq("createBySid", query.getUserSid());
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ } else {
+ PagerVo p = new PagerVo<>();
+ return p;
+ }
+ }
+ if (StringUtils.isNotBlank(query.getUseOrgName())) {
+ qw.like("useOrgName", query.getUseOrgName());
+ }
+ if (StringUtils.isNotBlank(query.getDeptName())) {
+ qw.like("deptName", query.getDeptName());
+ }
+ if (StringUtils.isNotBlank(query.getCreateByName())) {
+ qw.like("createByName", query.getCreateByName());
+ }
+ qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')"
+ );
+ if (StringUtils.isNotBlank(query.getModifyStartTime()) && StringUtils.isNotBlank(query.getModifyEndTime())) {
+ qw.and(wrapper -> wrapper.eq("nodeState", "终止").or().eq("nodeState", "已办结"));
+ }
+ qw.apply(StringUtils.isNotBlank(query.getModifyStartTime()), "date_format (modifyTime,'%Y-%m-%d') >= date_format('" + query.getModifyStartTime() + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(query.getModifyEndTime()), "date_format (modifyTime,'%Y-%m-%d') <= date_format('" + query.getModifyEndTime() + "','%Y-%m-%d')"
+ );
+ if (StringUtils.isNotBlank(query.getLoanContract())){
+ qw.like("loanContract",query.getLoanContract());
+ }
+ if (StringUtils.isNotBlank(query.getCustomName())){
+ qw.like("customName",query.getCustomName());
+ }
+ if (StringUtils.isNotBlank(query.getLenderName())){
+ qw.like("lenderName",query.getLenderName());
+ }
+ if (StringUtils.isNotBlank(query.getCloseTypeValue())){
+ qw.like("closeTypeValue",query.getCloseTypeValue());
+ }
+ qw.apply(StringUtils.isNotBlank(query.getCloseStartDate()), "date_format (closeDate,'%Y-%m-%d') >= date_format('" + query.getCloseStartDate() + "','%Y-%m-%d')").
+ apply(StringUtils.isNotBlank(query.getCloseEndDate()), "date_format (closeDate,'%Y-%m-%d') <= date_format('" + query.getCloseEndDate() + "','%Y-%m-%d')"
+ );
+ qw.orderByDesc("createTime");
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ for (LoanCaseCloseApplyVo record : pagging.getRecords()) {
+ if ("终止".equals(record.getNodeState()) || "已办结".equals(record.getNodeState())) {
+ DateTime modifyTime = DateUtil.parse(record.getModifyTime());
+ record.setModifyTime(DateUtil.formatDate(modifyTime));
+ } else {
+ record.setModifyTime("");
+ }
+ }
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public String saveOrUpdateDto(LoanCaseCloseApplyDto dto){
+ String dtoSid = dto.getSid();
+ List jaclFiles = dto.getJaclFiles();
+ List loanCaseCloseVehList = dto.getLoanCaseCloseVehList();
+ if (StringUtils.isBlank(dtoSid)) {
+ //生成单据编号
+ String billNo = "";
+ String date = DateUtil.format(DateUtil.date(), "yyyyMM");
+ SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
+ billNo = "AJJA" + sysOrganizationVo.getOrgCode() + date;
+ String i = baseMapper.selectNum(billNo);
+ if (StringUtils.isNotBlank(i)) {
+ billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
+ } else {
+ billNo = Rule.getBillNo(billNo, 0);
+ }
+ dto.setBillNo(billNo);
+ String sid = this.insertByDto(dto);
+ for (LoanCaseCloseVehDto loanCaseCloseVehDto : loanCaseCloseVehList) {
+ loanCaseCloseVehDto.setMainSid(sid);
+ loanCaseCloseVehService.saveOrUpdateDto(loanCaseCloseVehDto);
+ }
+ if (jaclFiles != null && jaclFiles.size() > 0) {
+ for (LoanCaseCloseFile file : jaclFiles) {
+ LoanFile loanFile = new LoanFile();
+ loanFile.setLinkSid(sid);
+ loanFile.setAttachType(LoanFileEnum.CLOSE.getAttachType());
+ String filePath = file.getUrl();
+ if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
+ filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
+ }
+ loanFile.setFilePath(filePath);
+ loanFileService.save(loanFile);
+ }
+ }
+ return sid;
+ }
+ this.updateByDto(dto);
+ loanCaseCloseVehService.delByMainSid(dtoSid);
+ for (LoanCaseCloseVehDto loanCaseCloseVehDto : loanCaseCloseVehList) {
+ loanCaseCloseVehDto.setMainSid(dtoSid);
+ loanCaseCloseVehService.saveOrUpdateDto(loanCaseCloseVehDto);
+ }
+ loanFileService.delByLinkSidOrType(dtoSid, LoanFileEnum.CLOSE.getAttachType());
+ if (jaclFiles != null && jaclFiles.size() > 0) {
+ for (LoanCaseCloseFile file : jaclFiles) {
+ LoanFile loanFile = new LoanFile();
+ loanFile.setLinkSid(dtoSid);
+ loanFile.setAttachType(LoanFileEnum.CLOSE.getAttachType());
+ String filePath = file.getUrl();
+ if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) {
+ filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), "");
+ }
+ loanFile.setFilePath(filePath);
+ loanFileService.save(loanFile);
+ }
+ }
+ return dtoSid;
+ }
+
+ public String insertByDto(LoanCaseCloseApplyDto dto){
+ LoanCaseCloseApply entity = new LoanCaseCloseApply();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ entity.setNodeState("待提交");
+ baseMapper.insert(entity);
+ return entity.getSid();
+ }
+
+ public void updateByDto(LoanCaseCloseApplyDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ LoanCaseCloseApply entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public LoanCaseCloseApplyDetailsVo fetchDetailsVoBySid(String sid){
+ LoanCaseCloseApply entity = fetchBySid(sid);
+ LoanCaseCloseApplyDetailsVo vo = new LoanCaseCloseApplyDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ List loanCaseCloseVehDetailsVos = loanCaseCloseVehService.selByMainSid(sid);
+ vo.setLoanCaseCloseVehList(loanCaseCloseVehDetailsVos);
+ List jacl = loanFileService.selectByLinkSid(sid, LoanFileEnum.CLOSE.getAttachType());
+ List jaclFiles = new ArrayList<>();
+ if (jacl != null && jacl.size() > 0) {
+ for (LoanFile loanFile : jacl) {
+ LoanCaseCloseFile loanCaseCloseFile = new LoanCaseCloseFile();
+ String filePath = loanFile.getFilePath();
+ String urlPrefix = fileUploadComponent.getUrlPrefix();
+ filePath = urlPrefix + filePath;
+ loanCaseCloseFile.setUrl(filePath);
+ jaclFiles.add(loanCaseCloseFile);
+ }
+ }
+ vo.setJaclFiles(jaclFiles);
+ return vo;
+ }
+
+ public ResultBean delAll(String[] sids) {
+ ResultBean rb = ResultBean.fireFail();
+ //查询该sid中是否有流程不是待提交的
+ int count = baseMapper.selectBySid(StringUtils.join(sids, ","));
+ if (count > 0) {
+ return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败");
+ }
+ delBySids(sids);
+ for (String sid : sids) {
+ loanCaseCloseVehService.delByMainSid(sid);
+ loanFileService.delByLinkSidOrType(sid, LoanFileEnum.CLOSE.getAttachType());
+ }
+ return rb.success();
+ }
+
+ public ResultBean submit(SubmitLoanCaseCloseApplyDto dto) {
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseCloseApply loanCaseCloseApply = fetchBySid(dto.getSid());
+ int r = submitBusinessData(dto, loanCaseCloseApply);
+ if (r == 3) {
+ return rb.setMsg("该申请不存在");
+ }
+ if (r == 0) {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ //新增修改保存
+ String businessSid = saveOrUpdateDto(dto);
+ loanCaseCloseApply = fetchBySid(businessSid);
+ //创建BusinessVariables实体对象
+ BusinessVariables bv = new BusinessVariables();
+ //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
+ Map variables = new HashMap<>();
+ //用户的部门全路径sid
+ bv.setOrgSidPath(loanCaseCloseApply.getOrgPath());
+ //业务sid
+ bv.setBusinessSid(businessSid);
+ //用户sid
+ bv.setUserSid(loanCaseCloseApply.getCreateBySid());
+ //若app移动端有此功能,则传递appMap参数
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ //需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
+ variables.put("app", appMap);
+ //流程定义id
+ bv.setModelId(ProcDefEnum.LOANCASECLOSEAPPLY.getProDefId());
+ bv.setFormVariables(variables);
+ SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(loanCaseCloseApply.getOrgPath()).getData();
+ bv.setNextNodeUserSids(sysOrganizationVo.getManagerSid());
+ if (r == 1) {
+ ResultBean voResultBean = flowableFeign.startProcess(bv);
+ UpdateFlowFieldVo ufVo = voResultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(ufVo));
+ //极光推送
+ loanCaseCloseApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("案件结案申请");
+ messageFlowableQuery.setMsgContent(loanCaseCloseApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("案件结案申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ return voResultBean;
+ }
+ if (r == 2) {
+ // ToDo:驳回到发起人后再次提交
+ if (StringUtils.isBlank(dto.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ bv.setTaskId(loanCaseCloseApply.getTaskId());
+ bv.setTaskDefKey(loanCaseCloseApply.getNodeSid());
+ bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
+ bv.setInstanceId(dto.getInstanceId());
+ return complete(bv);
+ }
+ return rb;
+ }
+
+ private synchronized int submitBusinessData(SubmitLoanCaseCloseApplyDto dto, LoanCaseCloseApply loanCaseCloseApply) {
+ int r = 0;
+ if (StringUtils.isBlank(dto.getSid())) {
+ r = 1;
+ } else {
+ if (loanCaseCloseApply != null) {
+ String businessTaskId = loanCaseCloseApply.getTaskId();
+ if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
+ //新提交
+ r = 1;
+ } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
+ //二次提交//只有数据一致的时候才能进行下一步
+ r = 2;
+ }
+ } else {
+ r = 3;
+ }
+
+ }
+ return r;
+ }
+
+ private int updateFlowFiled(Map map) {
+ return baseMapper.updateFlowFiled(map);
+ }
+
+ public ResultBean complete(BusinessVariables bv) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = bv.getBusinessSid();
+ LoanCaseCloseApply loanCaseCloseApply = fetchBySid(businessSid);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
+ if (StringUtils.isBlank(loanCaseCloseApply.getProcDefId())) {
+ flowProcessMapQuery.setProDefKey(bv.getModelId());
+ } else {
+ flowProcessMapQuery.setProDefKey(loanCaseCloseApply.getProcDefId());
+ }
+ flowProcessMapQuery.setVariables(variables);
+ variables = flowableFeign.getMap(flowProcessMapQuery).getData();
+ //=======================================
+ bv.setFormVariables(variables);
+ bv.setOrgSidPath(loanCaseCloseApply.getOrgPath());
+ if (bv.getTaskId().equals(loanCaseCloseApply.getTaskId())) {
+ ResultBean resultBean = flowableFeign.handleProsess(bv);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
+
+ } else {
+ //极光推送
+ loanCaseCloseApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ ufVo.setProcDefId(loanCaseCloseApply.getProcDefId());
+ ufVo.setProcInsId(loanCaseCloseApply.getProcInstSid());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("案件结案申请");
+ messageFlowableQuery.setMsgContent(loanCaseCloseApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ messageFlowableQuery.setMsgTitle("案件结案申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ }
+ return rb.success().setData(resultBean.getData());
+ } else {
+ return rb.setMsg("操作失败!提交的数据不一致");
+ }
+ }
+
+ public ResultBean> getPreviousNodesForReject(LoanCaseCloseApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId(ProcDefEnum.LOANCASECLOSEAPPLY.getProDefId());
+ ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanCaseCloseApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean> getNextNodesForSubmit(LoanCaseCloseApplyNodeQuery query) {
+ ResultBean> rb = ResultBean.fireFail();
+ BusinessVariables bv = new BusinessVariables();
+ BeanUtil.copyProperties(query, bv);
+ bv.setModelId(ProcDefEnum.LOANCASECLOSEAPPLY.getProDefId());
+ ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
+ //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
+ List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanCaseCloseApplyNodeVo.class)).collect(Collectors.toList());
+ return rb.success().setData(voList);
+ }
+
+ public ResultBean reject(LoanCaseCloseApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ String businessSid = query.getBusinessSid();
+ LoanCaseCloseApply loanCaseCloseApply = fetchBySid(businessSid);
+ if (loanCaseCloseApply == null) {
+ return rb.setMsg("该申请不存在");
+ }
+ String businessTaskId = loanCaseCloseApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ Map variables = new HashMap<>();
+ Map appMap = new HashMap<>();
+ appMap.put("sid", businessSid);
+ variables.put("app", appMap);
+ flowTaskVo.setValues(variables);
+ ResultBean resultBean = flowableFeign.taskReject(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ UpdateFlowFieldVo ufVo = resultBean.getData();
+ Map map = BeanUtil.beanToMap(ufVo);
+ //更新业务中的流程相关的参数
+ updateFlowFiled(map);
+ //极光推送
+ loanCaseCloseApply = fetchBySid(businessSid);
+ MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
+ MessageFlowVo messageFlowVo = new MessageFlowVo();
+ BeanUtil.copyProperties(ufVo, messageFlowVo);
+ String procId = loanCaseCloseApply.getProcInstSid();
+ ufVo.setProcInsId(procId);
+ ufVo.setProcDefId(loanCaseCloseApply.getProcDefId());
+ messageFlowableQuery.setUfVo(messageFlowVo);
+ messageFlowableQuery.setAppMap(appMap);
+ messageFlowableQuery.setBusinessSid(businessSid);
+ messageFlowableQuery.setModuleName("案件结案申请");
+ ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId);
+ String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
+ List receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
+ if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(loanCaseCloseApply.getCreateBySid())) {
+ messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
+ } else {
+ messageFlowableQuery.setMsgContent(loanCaseCloseApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
+ }
+ messageFlowableQuery.setMsgTitle("案件结案申请");
+ messageFeign.pushMessage(messageFlowableQuery);
+ return rb.success();
+ }
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean revokeProcess(LoanCaseCloseApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ LoanCaseCloseApply loanCaseCloseApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = loanCaseCloseApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+ return rb.setMsg("操作失败,提交的数据不一致!");
+ }
+
+ public ResultBean breakProcess(LoanCaseCloseApplyTaskQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ if (StringUtils.isBlank(query.getInstanceId())) {
+ return rb.setMsg("参数错误:instanceId");
+ }
+ if (StringUtils.isBlank(query.getUserSid())) {
+ return rb.setMsg("参数错误:userSid");
+ }
+ if (StringUtils.isBlank(query.getComment())) {
+ return rb.setMsg("请填写意见");
+ }
+ LoanCaseCloseApply loanCaseCloseApply = fetchBySid(query.getBusinessSid());
+ String businessTaskId = loanCaseCloseApply.getTaskId();
+ if (StringUtils.isNotBlank(businessTaskId)) {
+ if (query.getUserSid().equals(loanCaseCloseApply.getCreateBySid())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ } else {
+ if (businessTaskId.equals(query.getTaskId())) {
+ FlowTaskVo flowTaskVo = new FlowTaskVo();
+ BeanUtil.copyProperties(query, flowTaskVo);
+ ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo);
+ if (!resultBean.getSuccess()) {
+ return rb.setMsg(resultBean.getMsg());
+ }
+ Map map = BeanUtil.beanToMap(resultBean.getData());
+ updateFlowFiled(map);
+ return rb.success().setData(resultBean.getData());
+ }
+ }
+
+ }
+ return rb.setMsg("操作失败!提交的数据不一致!");
+ }
+
+ public ResultBean delegate(LoanCaseCloseApplyDelegateQuery query) {
+ ResultBean rb = ResultBean.fireFail();
+ FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
+ BeanUtil.copyProperties(query, delegateQuery);
+ flowFeign.delegate(delegateQuery);
+ return rb.success();
+ }
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.java
new file mode 100644
index 0000000000..be46b5a627
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.java
@@ -0,0 +1,73 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseveh;
+
+import com.baomidou.mybatisplus.core.conditions.Wrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.toolkit.Constants;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDetailsVo;
+import org.apache.ibatis.annotations.Delete;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVeh;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehVo;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehMapper.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseveh.LoanCaseCloseVehMapper
+ * Description: 案件结案车辆.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Mapper
+public interface LoanCaseCloseVehMapper extends BaseMapper {
+
+ //@Update("update loan_case_close_veh set name=#{msg} where id=#{id}")
+ //IPage voPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw);
+
+ IPage selectPageVo(IPage page, @Param(Constants.WRAPPER) Wrapper qw);
+
+ List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw);
+
+ @Select("select * from loan_case_close_veh")
+ List selectListVo();
+
+ @Delete("delete from loan_case_close_veh where mainSid = #{dtoSid}")
+ void delByMainSid(String dtoSid);
+
+ @Select("select * from loan_case_close_veh where mainSid = #{sid}")
+ List selByMainSid(String sid);
+}
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.xml
new file mode 100644
index 0000000000..17ede10159
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehMapper.xml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehRest.java
new file mode 100644
index 0000000000..6f4f1c3931
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehRest.java
@@ -0,0 +1,100 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseveh;
+
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVeh;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehQuery;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehFeign;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehFeignFallback.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseveh.LoanCaseCloseVehRest
+ * Description: 案件结案车辆.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Api(tags = "案件结案车辆")
+@RestController("com.yxt.anrui.riskcenter.biz.loancasecloseveh.LoanCaseCloseVehRest")
+@RequestMapping("v1/loancasecloseveh")
+public class LoanCaseCloseVehRest implements LoanCaseCloseVehFeign {
+
+ @Autowired
+ private LoanCaseCloseVehService loanCaseCloseVehService;
+
+ @Override
+ @ApiOperation("根据条件分页查询数据的列表")
+ @PostMapping("/listPage")
+ public ResultBean> listPage(@RequestBody PagerQuery pq){
+ ResultBean rb = ResultBean.fireFail();
+ PagerVo pv = loanCaseCloseVehService.listPageVo(pq);
+ return rb.success().setData(pv);
+ }
+
+ @Override
+ @ApiOperation("新增或修改")
+ @PostMapping("/save")
+ public ResultBean save(@RequestBody LoanCaseCloseVehDto dto){
+ ResultBean rb = ResultBean.fireFail();
+ loanCaseCloseVehService.saveOrUpdateDto(dto);
+ return rb.success();
+ }
+
+ @Override
+ @ApiOperation("根据sid批量删除")
+ @PostMapping("/delBySids")
+ public ResultBean delBySids(@RequestBody String[] sids){
+ ResultBean rb = ResultBean.fireFail();
+ loanCaseCloseVehService.delBySids(sids);
+ return rb.success();
+ }
+
+ @Override
+ @ApiOperation("根据SID获取一条记录")
+ @GetMapping("/fetchDetailsBySid/{sid}")
+ public ResultBean fetchDetailsBySid(@PathVariable("sid") String sid){
+ ResultBean rb = ResultBean.fireFail();
+ LoanCaseCloseVehDetailsVo vo = loanCaseCloseVehService.fetchDetailsVoBySid(sid);
+ return rb.success().setData(vo);
+ }
+}
diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehService.java
new file mode 100644
index 0000000000..871a6eb26f
--- /dev/null
+++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loancasecloseveh/LoanCaseCloseVehService.java
@@ -0,0 +1,118 @@
+/*********************************************************
+ *********************************************************
+ ******************** *******************
+ ************* ************
+ ******* _oo0oo_ *******
+ *** o8888888o ***
+ * 88" . "88 *
+ * (| -_- |) *
+ * 0\ = /0 *
+ * ___/`---'\___ *
+ * .' \\| |// '. *
+ * / \\||| : |||// \ *
+ * / _||||| -:- |||||- \ *
+ * | | \\\ - /// | | *
+ * | \_| ''\---/'' |_/ | *
+ * \ .-\__ '-' ___/-. / *
+ * ___'. .' /--.--\ `. .'___ *
+ * ."" '< `.___\_<|>_/___.' >' "". *
+ * | | : `- \`.;`\ _ /`;.`/ - ` : | | *
+ * \ \ `_. \_ __\ /__ _/ .-` / / *
+ * =====`-.____`.___ \_____/___.-`___.-'===== *
+ * `=---=' *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
+ *********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
+ *********************************************************/
+package com.yxt.anrui.riskcenter.biz.loancasecloseveh;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.commons.lang3.StringUtils;
+import com.yxt.common.base.service.MybatisBaseService;
+import com.yxt.common.base.utils.PagerUtil;
+import com.yxt.common.core.query.PagerQuery;
+import com.yxt.common.core.result.ResultBean;
+import com.yxt.common.core.vo.PagerVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVeh;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehQuery;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDetailsVo;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehDto;
+import com.yxt.anrui.riskcenter.api.loancasecloseveh.LoanCaseCloseVehFeign;
+
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * Project: anrui-riskcenter(案件结案申请)
+ * File: LoanCaseCloseVehService.java
+ * Class: com.yxt.anrui.riskcenter.biz.loancasecloseveh.LoanCaseCloseVehService
+ * Description: 案件结案车辆 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-02-08 11:07:38
+ *
+ * @author liupopo
+ * @version 1.0
+ * @since 1.0
+ */
+@Service
+public class LoanCaseCloseVehService extends MybatisBaseService {
+ private QueryWrapper createQueryWrapper(LoanCaseCloseVehQuery query) {
+ // todo: 这里根据具体业务调整查询条件
+ // 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
+ QueryWrapper qw = new QueryWrapper<>();
+ return qw;
+ }
+
+ public PagerVo listPageVo(PagerQuery pq) {
+ LoanCaseCloseVehQuery query = pq.getParams();
+ QueryWrapper qw = createQueryWrapper(query);
+ IPage page = PagerUtil.queryToPage(pq);
+ IPage pagging = baseMapper.selectPageVo(page, qw);
+ PagerVo p = PagerUtil.pageToVo(pagging, null);
+ return p;
+ }
+
+ public void saveOrUpdateDto(LoanCaseCloseVehDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ this.insertByDto(dto);
+ return;
+ }
+ this.updateByDto(dto);
+ }
+
+ public void insertByDto(LoanCaseCloseVehDto dto){
+ LoanCaseCloseVeh entity = new LoanCaseCloseVeh();
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.insert(entity);
+ }
+
+ public void updateByDto(LoanCaseCloseVehDto dto){
+ String dtoSid = dto.getSid();
+ if (StringUtils.isBlank(dtoSid)) {
+ return;
+ }
+ LoanCaseCloseVeh entity = fetchBySid(dtoSid);
+ BeanUtil.copyProperties(dto, entity, "id", "sid");
+ baseMapper.updateById(entity);
+ }
+
+ public LoanCaseCloseVehDetailsVo fetchDetailsVoBySid(String sid){
+ LoanCaseCloseVeh entity = fetchBySid(sid);
+ LoanCaseCloseVehDetailsVo vo = new LoanCaseCloseVehDetailsVo();
+ BeanUtil.copyProperties(entity, vo);
+ return vo;
+ }
+
+ public void delByMainSid(String dtoSid) {
+ baseMapper.delByMainSid(dtoSid);
+ }
+
+ public List selByMainSid(String sid) {
+ return baseMapper.selByMainSid(sid);
+ }
+}
\ No newline at end of file