Browse Source

车辆交回事前报备申请模块开发

master
God 1 year ago
parent
commit
b559aa5d9f
  1. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  2. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  3. 124
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApply.java
  4. 138
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyDetailsVo.java
  5. 132
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyDto.java
  6. 120
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeign.java
  7. 118
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeignFallback.java
  8. 92
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyQuery.java
  9. 93
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyVo.java
  10. 51
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportFileVo.java
  11. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportCompleteDto.java
  12. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportDelegateQuery.java
  13. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportNodeQuery.java
  14. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportNodeVo.java
  15. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportTaskQuery.java
  16. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/SubmitLoanRestoreReportDto.java
  17. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java
  18. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  19. 70
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.java
  20. 36
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml
  21. 154
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyRest.java
  22. 645
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java
  23. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyService.java

1
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java

@ -69,6 +69,7 @@ public enum ProcDefEnum {
LOANOVERDUEFIN("逾期对账申请(财务)", "process_b0i03acl:1:7672504"),
LOANOVERDUEBANK("逾期对账申请(资方)", "process_wwb7q95x:1:7672508"),
LOANVEHCLEARANCEAPPLY("车辆远程解控申请", "process_zbzenr9b:2:7782504"),
LOANRESTOREREPORTAPPLY("车辆交回事前报备申请", ""),
/******************************测试流程id*********************************************/

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java

@ -28,6 +28,7 @@ public enum LoanFileEnum {
BECOLLECTIONAPPLY("019", "催收措施附件"),
BECOLLECTIONVEHHKXY("020", "催收措施车辆还款协议附件"),
VEHCLEARANCE("021", "车辆远程解控附件"),
RESTOREREPORT("022", "车辆交回事前报备附件"),
;

124
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApply.java

@ -0,0 +1,124 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
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;
import java.util.Date;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApply.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApply <br/>
* Description: 车辆交回事前报备申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请", description = "车辆交回事前报备申请")
@TableName("loan_restore_report_apply")
public class LoanRestoreReportApply 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 vinNo; // 车架号
@ApiModelProperty("车牌号")
private String carNum; // 车牌号
@ApiModelProperty("客户名称")
private String custName; // 客户名称
@ApiModelProperty("贷款人")
private String borrName; // 贷款人
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("已还金额")
private String alRepaidMoney; // 已还金额
@ApiModelProperty("当前逾期金额")
private String currentBeMoney; // 当前逾期金额
@ApiModelProperty("其中资金占用费")
private String wheFundOccMoney; // 其中资金占用费
@ApiModelProperty("未到期金额")
private String unexpiredMoney; // 未到期金额
@ApiModelProperty("总期数")
private String nper; // 总期数
@ApiModelProperty("当前期数")
private String currentPeriod; // 当前期数
@ApiModelProperty("已还金额换算期数")
private String alRepaidMoneyConPeriod; // 已还金额换算期数
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
@ApiModelProperty("交回方式key")
private String restoreTypeKey; // 交回方式key
@ApiModelProperty("交回方式value")
private String restoreTypeValue; // 交回方式value
@ApiModelProperty("预交回日期")
private Date restoreDate; // 预交回日期
@ApiModelProperty("经办人sid")
private String operatorSid; // 经办人sid
@ApiModelProperty("经办人姓名")
private String operatorName; // 经办人姓名
@ApiModelProperty("涉及相关费用")
private String involveCorrMoney; // 涉及相关费用
@ApiModelProperty("费用说明")
private String costRemarks; // 费用说明
@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
}

138
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyDetailsVo.java

@ -0,0 +1,138 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo <br/>
* Description: 车辆交回事前报备申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请 视图数据详情", description = "车辆交回事前报备申请 视图数据详情")
public class LoanRestoreReportApplyDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("申请日期")
private String createTime;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("创建人")
private String createByName; // 创建人
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String carNum; // 车牌号
@ApiModelProperty("客户名称")
private String custName; // 客户名称
@ApiModelProperty("贷款人")
private String borrName; // 贷款人
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("已还金额")
private String alRepaidMoney; // 已还金额
@ApiModelProperty("当前逾期金额")
private String currentBeMoney; // 当前逾期金额
@ApiModelProperty("其中资金占用费")
private String wheFundOccMoney; // 其中资金占用费
@ApiModelProperty("未到期金额")
private String unexpiredMoney; // 未到期金额
@ApiModelProperty("总期数")
private String nper; // 总期数
@ApiModelProperty("当前期数")
private String currentPeriod; // 当前期数
@ApiModelProperty("已还金额换算期数")
private String alRepaidMoneyConPeriod; // 已还金额换算期数
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
@ApiModelProperty("交回方式key")
private String restoreTypeKey; // 交回方式key
@ApiModelProperty("交回方式value")
private String restoreTypeValue; // 交回方式value
@ApiModelProperty("预交回日期")
private String restoreDate; // 预交回日期
@ApiModelProperty("经办人sid")
private String operatorSid; // 经办人sid
@ApiModelProperty("经办人姓名")
private String operatorName; // 经办人姓名
@ApiModelProperty("涉及相关费用")
private String involveCorrMoney; // 涉及相关费用
@ApiModelProperty("费用说明")
private String costRemarks; // 费用说明
@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("催收记录sid")
private String csjlSid;
@ApiModelProperty("金融方案sid")
private String jrfaSid;
@ApiModelProperty("附件路径")
private List<LoanRestoreReportFileVo> files = new ArrayList<>();
}

132
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyDto.java

@ -0,0 +1,132 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyDto.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDto <br/>
* Description: 车辆交回事前报备申请 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请 数据传输对象", description = "车辆交回事前报备申请 数据传输对象")
public class LoanRestoreReportApplyDto implements Dto {
private String sid; // sid
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("创建人sid")
private String createBySid;
@ApiModelProperty("创建人")
private String createByName; // 创建人
@ApiModelProperty("申请编号")
private String billNo; // 申请编号
@ApiModelProperty("申请部门sid")
private String deptSid; // 申请部门sid
@ApiModelProperty("申请部门名称")
private String deptName; // 申请部门名称
@ApiModelProperty("车架号")
private String vinNo; // 车架号
@ApiModelProperty("车牌号")
private String carNum; // 车牌号
@ApiModelProperty("客户名称")
private String custName; // 客户名称
@ApiModelProperty("贷款人")
private String borrName; // 贷款人
@ApiModelProperty("贷款合同编号")
private String loanContractNo; // 贷款合同编号
@ApiModelProperty("资方")
private String bankName; // 资方
@ApiModelProperty("资方合同编号")
private String bankContractNo; // 资方合同编号
@ApiModelProperty("已还金额")
private String alRepaidMoney; // 已还金额
@ApiModelProperty("当前逾期金额")
private String currentBeMoney; // 当前逾期金额
@ApiModelProperty("其中资金占用费")
private String wheFundOccMoney; // 其中资金占用费
@ApiModelProperty("未到期金额")
private String unexpiredMoney; // 未到期金额
@ApiModelProperty("总期数")
private String nper; // 总期数
@ApiModelProperty("当前期数")
private String currentPeriod; // 当前期数
@ApiModelProperty("已还金额换算期数")
private String alRepaidMoneyConPeriod; // 已还金额换算期数
@ApiModelProperty("逾期金额换算期数")
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
@ApiModelProperty("交回方式key")
private String restoreTypeKey; // 交回方式key
@ApiModelProperty("交回方式value")
private String restoreTypeValue; // 交回方式value
@ApiModelProperty("预交回日期")
private String restoreDate; // 预交回日期
@ApiModelProperty("经办人sid")
private String operatorSid; // 经办人sid
@ApiModelProperty("经办人姓名")
private String operatorName; // 经办人姓名
@ApiModelProperty("涉及相关费用")
private String involveCorrMoney; // 涉及相关费用
@ApiModelProperty("费用说明")
private String costRemarks; // 费用说明
@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<LoanRestoreReportFileVo> files = new ArrayList<>();
}

120
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeign.java

@ -0,0 +1,120 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.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(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyFeign.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeign <br/>
* Description: 车辆交回事前报备申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆交回事前报备申请")
@FeignClient(
contextId = "anrui-riskcenter-LoanRestoreReportApply",
name = "anrui-riskcenter",
path = "v1/loanrestorereportapply",
fallback = LoanRestoreReportApplyFeignFallback.class)
public interface LoanRestoreReportApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
@ResponseBody
public ResultBean<PagerVo<LoanRestoreReportApplyVo>> listPage(@RequestBody PagerQuery<LoanRestoreReportApplyQuery> pq);
@ApiOperation("新增或修改")
@PostMapping("/save")
@ResponseBody
public ResultBean save(@RequestBody LoanRestoreReportApplyDto dto);
@ApiOperation("根据sid删除记录")
@DeleteMapping("/delBySids")
@ResponseBody
public ResultBean delBySids(@RequestBody String[] sids);
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
@ResponseBody
public ResultBean<LoanRestoreReportApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation("初始化")
@GetMapping("/init")
@ResponseBody
public ResultBean<LoanRestoreReportApplyDetailsVo> init(@RequestParam("saleVehSid") String saleVehSid, @RequestParam("orgPath") String orgPath, @RequestParam("userSid") String userSid);
@ApiOperation("提交审批流程")
@PostMapping("/submit")
public ResultBean submit(@RequestBody @Valid SubmitLoanRestoreReportDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody LoanRestoreReportCompleteDto query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<LoanRestoreReportNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap LoanRestoreReportNodeQuery query);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<LoanRestoreReportNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap LoanRestoreReportNodeQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean reject(@Valid @RequestBody LoanRestoreReportTaskQuery query);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@Valid @RequestBody LoanRestoreReportTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody LoanRestoreReportTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody LoanRestoreReportDelegateQuery query);
}

118
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyFeignFallback.java

@ -0,0 +1,118 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.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(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeignFallback <br/>
* Description: 车辆交回事前报备申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Component
public class LoanRestoreReportApplyFeignFallback implements LoanRestoreReportApplyFeign {
@Override
public ResultBean<PagerVo<LoanRestoreReportApplyVo>> listPage(PagerQuery<LoanRestoreReportApplyQuery> pq){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-riskcenter/loanrestorereportapply/listPage无法访问");
}
@Override
public ResultBean save(LoanRestoreReportApplyDto dto){
return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loanrestorereportapply/save无法访问");
}
@Override
public ResultBean delBySids( String[] sids){
return ResultBean.fireFail().setMsg("接口anrui-riskcenter/loanrestorereportapply/delBySids无法访问");
}
@Override
public ResultBean<LoanRestoreReportApplyDetailsVo> fetchDetailsBySid(String sid){
ResultBean rb = ResultBean.fireFail();
return rb.setMsg("接口anrui-riskcenter/loanrestorereportapply/fetchDetailsBySid无法访问");
}
@Override
public ResultBean<LoanRestoreReportApplyDetailsVo> init(String saleVehSid, String orgPath, String userSid) {
return null;
}
@Override
public ResultBean submit(SubmitLoanRestoreReportDto dto) {
return null;
}
@Override
public ResultBean complete(LoanRestoreReportCompleteDto query) {
return null;
}
@Override
public ResultBean<List<LoanRestoreReportNodeVo>> getPreviousNodesForReject(LoanRestoreReportNodeQuery query) {
return null;
}
@Override
public ResultBean<List<LoanRestoreReportNodeVo>> getNextNodesForSubmit(LoanRestoreReportNodeQuery query) {
return null;
}
@Override
public ResultBean reject(LoanRestoreReportTaskQuery query) {
return null;
}
@Override
public ResultBean revokeProcess(LoanRestoreReportTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(LoanRestoreReportTaskQuery query) {
return null;
}
@Override
public ResultBean delegate(LoanRestoreReportDelegateQuery query) {
return null;
}
}

92
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyQuery.java

@ -0,0 +1,92 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyQuery.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyQuery <br/>
* Description: 车辆交回事前报备申请 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请 查询条件", description = "车辆交回事前报备申请 查询条件")
public class LoanRestoreReportApplyQuery implements Query {
@ApiModelProperty("分公司名称")
private String useOrgName;
@ApiModelProperty("申请部门名称")
private String deptName;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("贷款人")
private String borrName;
@ApiModelProperty("交回方式key")
private String restoreTypeKey;
@ApiModelProperty("申请开始日期")
private String createStartTime;
@ApiModelProperty("申请结束日期")
private String createEndTime;
@ApiModelProperty("办结开始日期")
private String modifyStartTime;
@ApiModelProperty("办结结束日期")
private String modifyEndTime;
@ApiModelProperty("预交回开始日期")
private String restoreStartDate;
@ApiModelProperty("预交回结束日期")
private String restoreEndDate;
private String userSid;
private String orgPath;
private String menuUrl;
private String menuSid;
}

93
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportApplyVo.java

@ -0,0 +1,93 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
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(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo <br/>
* Description: 车辆交回事前报备申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "车辆交回事前报备申请 视图数据对象", description = "车辆交回事前报备申请 视图数据对象")
public class LoanRestoreReportApplyVo implements Vo {
private String sid; // 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 loanContractNo;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String carNum;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String custName;
@ApiModelProperty("贷款人")
private String borrName;
@ApiModelProperty("交回方式value")
private String restoreTypeValue;
@ApiModelProperty("预交回日期")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date restoreDate;
@ApiModelProperty("流程定义的id")
private String procDefId;
@ApiModelProperty("流程实例的sid")
private String procInstSid;
}

51
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/LoanRestoreReportFileVo.java

@ -0,0 +1,51 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.api.loanrestorereportapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import lombok.Data;
/**
* Project: anrui-riskcenter(催收措施申请) <br/>
* File: LoanBeCollectionApplyVo.java <br/>
* Class: com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo <br/>
* Description: 逾期催收申请 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2023-12-12 16:06:20 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "逾期催收申请 视图数据对象", description = "逾期催收申请 视图数据对象")
public class LoanRestoreReportFileVo implements Vo {
private String url;
}

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportCompleteDto.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.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 LoanRestoreReportCompleteDto 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;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class LoanRestoreReportDelegateQuery {
@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;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportNodeQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.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 LoanRestoreReportNodeQuery 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;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportNodeVo.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.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 LoanRestoreReportNodeVo implements Vo {
private static final long serialVersionUID = -833419512294877848L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/LoanRestoreReportTaskQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.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 LoanRestoreReportTaskQuery 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;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrestorereportapply/flowable/SubmitLoanRestoreReportDto.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyDto;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDto;
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 SubmitLoanRestoreReportDto extends LoanRestoreReportApplyDto {
@ApiModelProperty("意见")
private String comment;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbecollectionapply/LoanBeCollectionApplyService.java

@ -200,6 +200,9 @@ public class LoanBeCollectionApplyService extends MybatisBaseService<LoanBeColle
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')"
);

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -197,6 +197,9 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
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')"
);

70
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.java

@ -0,0 +1,70 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanrestorereportapply;
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.loanrestorereportapply.LoanRestoreReportApply;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo;
import java.util.List;
import java.util.Map;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyMapper.java <br/>
* Class: com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyMapper <br/>
* Description: 车辆交回事前报备申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper
public interface LoanRestoreReportApplyMapper extends BaseMapper<LoanRestoreReportApply> {
//@Update("update loan_restore_report_apply set name=#{msg} where id=#{id}")
//IPage<LoanRestoreReportApplyVo> voPage(IPage<LoanRestoreReportApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRestoreReportApply> qw);
IPage<LoanRestoreReportApplyVo> selectPageVo(IPage<LoanRestoreReportApply> page, @Param(Constants.WRAPPER) Wrapper<LoanRestoreReportApply> qw);
List<LoanRestoreReportApplyVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<LoanRestoreReportApply> qw);
@Select("select * from loan_restore_report_apply")
List<LoanRestoreReportApplyVo> selectListVo();
int updateFlowFiled(Map<String, Object> map);
String selectNum(String billNo);
}

36
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo">
SELECT * FROM loan_restore_report_apply <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo">
SELECT * FROM loan_restore_report_apply <where> ${ew.sqlSegment} </where>
</select>
<update id="updateFlowFiled">
UPDATE loan_be_collection_apply
SET nodeState=#{nodeState}, nodeSid=#{taskDefKey}, modifyTime = NOW()
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstSid=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid=#{sid}
</update>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from loan_be_collection_apply
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
</mapper>

154
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyRest.java

@ -0,0 +1,154 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanrestorereportapply;
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.loanrestorereportapply.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 com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyQuery;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyDto;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.LoanRestoreReportApplyFeign;
import java.util.List;
/**
* Project: anrui-riskcenter(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyFeignFallback.java <br/>
* Class: com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyRest <br/>
* Description: 车辆交回事前报备申请. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "车辆交回事前报备申请")
@RestController("com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyRest")
@RequestMapping("v1/loanrestorereportapply")
public class LoanRestoreReportApplyRest implements LoanRestoreReportApplyFeign {
@Autowired
private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Override
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanRestoreReportApplyVo>> listPage(@RequestBody PagerQuery<LoanRestoreReportApplyQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<LoanRestoreReportApplyVo> pv = loanRestoreReportApplyService.listPageVo(pq);
return rb.success().setData(pv);
}
@Override
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody LoanRestoreReportApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
loanRestoreReportApplyService.saveOrUpdateDto(dto);
return rb.success();
}
@Override
@ApiOperation("根据sid批量删除")
@DeleteMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids) {
ResultBean rb = ResultBean.fireFail();
loanRestoreReportApplyService.delBySids(sids);
return rb.success();
}
@Override
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<LoanRestoreReportApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportApplyDetailsVo vo = loanRestoreReportApplyService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@Override
public ResultBean<LoanRestoreReportApplyDetailsVo> init(String saleVehSid, String orgPath, String userSid) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportApplyDetailsVo loanRestoreReportApplyDetailsVo = loanRestoreReportApplyService.init(saleVehSid, orgPath, userSid);
return rb.success().setData(loanRestoreReportApplyDetailsVo);
}
@Override
public ResultBean submit(SubmitLoanRestoreReportDto dto) {
return loanRestoreReportApplyService.submit(dto);
}
@Override
public ResultBean complete(LoanRestoreReportCompleteDto query) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.LOANRESTOREREPORTAPPLY.getProDefId());
return loanRestoreReportApplyService.complete(bv);
}
@Override
public ResultBean<List<LoanRestoreReportNodeVo>> getPreviousNodesForReject(LoanRestoreReportNodeQuery query) {
return loanRestoreReportApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean<List<LoanRestoreReportNodeVo>> getNextNodesForSubmit(LoanRestoreReportNodeQuery query) {
return loanRestoreReportApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean reject(LoanRestoreReportTaskQuery query) {
return loanRestoreReportApplyService.reject(query);
}
@Override
public ResultBean revokeProcess(LoanRestoreReportTaskQuery query) {
return loanRestoreReportApplyService.revokeProcess(query);
}
@Override
public ResultBean breakProcess(LoanRestoreReportTaskQuery query) {
return loanRestoreReportApplyService.breakProcess(query);
}
@Override
public ResultBean delegate(LoanRestoreReportDelegateQuery query) {
return loanRestoreReportApplyService.delegate(query);
}
}

645
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyService.java

@ -0,0 +1,645 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.riskcenter.biz.loanrestorereportapply;
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.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
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.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApply;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionApplyVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.LoanBeCollectionFileVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.LoanBeCollectionApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanbecollectionapply.flowable.SubmitLoanBeCollectionApplyDto;
import com.yxt.anrui.riskcenter.api.loanbecollectionveh.LoanBeCollectionVehDto;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.ReaRepaymentVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.*;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loanvehclearanceveh.LoanVehClearanceVehInit;
import com.yxt.anrui.riskcenter.biz.loanbeoverdueveh.LoanBeOverdueVehService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService;
import com.yxt.anrui.riskcenter.biz.loanvehclearanceapply.LoanVehClearanceApplyService;
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(车辆交回事前报备申请) <br/>
* File: LoanRestoreReportApplyService.java <br/>
* Class: com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService <br/>
* Description: 车辆交回事前报备申请 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-01-08 11:43:57 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service
public class LoanRestoreReportApplyService extends MybatisBaseService<LoanRestoreReportApplyMapper, LoanRestoreReportApply> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanVehClearanceApplyService loanVehClearanceApplyService;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private LoanSolutionsService loanSolutionsService;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private FlowFeign flowFeign;
@Autowired
private MessageFeign messageFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private LoanFileService loanFileService;
public PagerVo<LoanRestoreReportApplyVo> listPageVo(PagerQuery<LoanRestoreReportApplyQuery> pq) {
LoanRestoreReportApplyQuery query = pq.getParams();
QueryWrapper<LoanRestoreReportApply> 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<String> 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<LoanRestoreReportApplyVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanRestoreReportApplyVo> 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());
}
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("loanContractNo", query.getLoanContractNo());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getCarNum())) {
qw.like("carNum", query.getCarNum());
}
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("bankName", query.getBankName());
}
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("bankContractNo", query.getBankContractNo());
}
if (StringUtils.isNotBlank(query.getCustName())) {
qw.like("custName", query.getCustName());
}
if (StringUtils.isNotBlank(query.getBorrName())) {
qw.like("borrName", query.getBorrName());
}
if (StringUtils.isNotBlank(query.getRestoreTypeKey())) {
qw.eq("restoreTypeKey", query.getRestoreTypeKey());
}
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')"
);
qw.apply(StringUtils.isNotBlank(query.getRestoreStartDate()), "date_format (restoreDate,'%Y-%m-%d') >= date_format('" + query.getRestoreStartDate() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getRestoreEndDate()), "date_format (restoreDate,'%Y-%m-%d') <= date_format('" + query.getRestoreEndDate() + "','%Y-%m-%d')"
);
qw.orderByDesc("createTime");
IPage<LoanRestoreReportApply> page = PagerUtil.queryToPage(pq);
IPage<LoanRestoreReportApplyVo> pagging = baseMapper.selectPageVo(page, qw);
for (LoanRestoreReportApplyVo 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<LoanRestoreReportApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public String saveOrUpdateDto(LoanRestoreReportApplyDto dto) {
String dtoSid = dto.getSid();
List<LoanRestoreReportFileVo> files = dto.getFiles();
if (StringUtils.isBlank(dtoSid)) {
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMM");
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(dto.getUseOrgSid()).getData();
billNo = "JHBB" + 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);
if (files != null && files.size() > 0) {
for (LoanRestoreReportFileVo file : files) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(sid);
loanFile.setAttachType(LoanFileEnum.RESTOREREPORT.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);
loanFileService.delByLinkSidOrType(dtoSid, LoanFileEnum.RESTOREREPORT.getAttachType());
if (files != null && files.size() > 0) {
for (LoanRestoreReportFileVo file : files) {
LoanFile loanFile = new LoanFile();
loanFile.setLinkSid(dtoSid);
loanFile.setAttachType(LoanFileEnum.RESTOREREPORT.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(LoanRestoreReportApplyDto dto) {
LoanRestoreReportApply entity = new LoanRestoreReportApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setNodeState("待提交");
baseMapper.insert(entity);
return entity.getSid();
}
public void updateByDto(LoanRestoreReportApplyDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
LoanRestoreReportApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
}
public LoanRestoreReportApplyDetailsVo fetchDetailsVoBySid(String sid) {
LoanRestoreReportApply entity = fetchBySid(sid);
LoanRestoreReportApplyDetailsVo vo = new LoanRestoreReportApplyDetailsVo();
BeanUtil.copyProperties(entity, vo);
vo.setCreateTime(DateUtil.formatDate(entity.getCreateTime()));
List<LoanRestoreReportFileVo> loanRestoreReportFileVos = new ArrayList<>();
List<LoanFile> loanFiles = loanFileService.selectByLinkSid(sid, LoanFileEnum.RESTOREREPORT.getAttachType());
if (loanFiles != null && loanFiles.size() > 0) {
for (LoanFile loanFile : loanFiles) {
LoanRestoreReportFileVo loanRestoreReportFileVo = new LoanRestoreReportFileVo();
String filePath = loanFile.getFilePath();
String urlPrefix = fileUploadComponent.getUrlPrefix();
filePath = urlPrefix + filePath;
loanRestoreReportFileVo.setUrl(filePath);
loanRestoreReportFileVos.add(loanRestoreReportFileVo);
}
}
vo.setFiles(loanRestoreReportFileVos);
return vo;
}
public LoanRestoreReportApplyDetailsVo init(String saleVehSid, String orgPath, String userSid) {
LoanRestoreReportApplyDetailsVo loanRestoreReportApplyDetailsVo = new LoanRestoreReportApplyDetailsVo();
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(orgPath).getData();
loanRestoreReportApplyDetailsVo.setDeptSid(sysOrganizationVo.getSid());
loanRestoreReportApplyDetailsVo.setDeptName(sysOrganizationVo.getName());
SysUserVo sysUserVo = sysUserFeign.fetchBySid(userSid).getData();
loanRestoreReportApplyDetailsVo.setCreateBySid(userSid);
loanRestoreReportApplyDetailsVo.setCreateByName(sysUserVo.getName());
loanRestoreReportApplyDetailsVo.setCreateTime(DateUtil.formatDate(new Date()));
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
SysOrganizationVo sysOrganizationVo1 = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
loanRestoreReportApplyDetailsVo.setUseOrgSid(useOrgSid);
loanRestoreReportApplyDetailsVo.setUseOrgName(sysOrganizationVo1.getName());
loanRestoreReportApplyDetailsVo.setOrgPath(orgPath);
LoanVehClearanceVehInit loanVehClearanceVehInit = loanVehClearanceApplyService.initVehListBySaleVehSid(saleVehSid);
loanRestoreReportApplyDetailsVo.setVinNo(loanVehClearanceVehInit.getVinNo());
loanRestoreReportApplyDetailsVo.setCarNum(loanVehClearanceVehInit.getCarNum());
loanRestoreReportApplyDetailsVo.setCustName(loanVehClearanceVehInit.getCustName());
loanRestoreReportApplyDetailsVo.setBorrName(loanVehClearanceVehInit.getLoanName());
loanRestoreReportApplyDetailsVo.setLoanContractNo(loanVehClearanceVehInit.getLoanContractNo());
loanRestoreReportApplyDetailsVo.setBankName(loanVehClearanceVehInit.getBankName());
loanRestoreReportApplyDetailsVo.setBankContractNo(loanVehClearanceVehInit.getBankContractNo());
loanRestoreReportApplyDetailsVo.setCsjlSid(saleVehSid);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(saleVehSid).getData();
LoanSolutions loanSolutions = loanSolutionsService.selectBySaleOrderSid(busSalesOrderVehicle.getSalesOrderSid());
loanRestoreReportApplyDetailsVo.setJrfaSid(loanSolutions.getSid());
loanRestoreReportApplyDetailsVo.setCurrentBeMoney(loanVehClearanceVehInit.getBeOverdueMoney());
loanRestoreReportApplyDetailsVo.setBeOverdueMoneyAndPeriod(loanVehClearanceVehInit.getBeOverdueMoneyAndPeriod());
return loanRestoreReportApplyDetailsVo;
}
public ResultBean submit(SubmitLoanRestoreReportDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanRestoreReportApply loanRestoreReportApply = fetchBySid(dto.getSid());
int r = submitBusinessData(dto, loanRestoreReportApply);
if (r == 3) {
return rb.setMsg("该申请不存在");
}
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//新增修改保存
String businessSid = saveOrUpdateDto(dto);
loanRestoreReportApply = fetchBySid(businessSid);
//创建BusinessVariables实体对象
BusinessVariables bv = new BusinessVariables();
//流程中的参数赋值、若有网关,则赋值网关中判断的字段。
Map<String, Object> variables = new HashMap<>();
//用户的部门全路径sid
bv.setOrgSidPath(loanRestoreReportApply.getOrgPath());
//业务sid
bv.setBusinessSid(businessSid);
//用户sid
bv.setUserSid(loanRestoreReportApply.getCreateBySid());
//若app移动端有此功能,则传递appMap参数
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
//需和移动端沟通业务sid保存的属性具体值:appMap中sid不是固定的。移动端提供具体字段。
variables.put("app", appMap);
//流程定义id
bv.setModelId(ProcDefEnum.LOANRESTOREREPORTAPPLY.getProDefId());
bv.setFormVariables(variables);
SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.selectByOrgSidPath(loanRestoreReportApply.getOrgPath()).getData();
bv.setNextNodeUserSids(sysOrganizationVo.getManagerSid());
if (r == 1) {
ResultBean<UpdateFlowFieldVo> voResultBean = flowableFeign.startProcess(bv);
UpdateFlowFieldVo ufVo = voResultBean.getData();
updateFlowFiled(BeanUtil.beanToMap(ufVo));
//极光推送
loanRestoreReportApply = 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(loanRestoreReportApply.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(loanRestoreReportApply.getTaskId());
bv.setTaskDefKey(loanRestoreReportApply.getNodeSid());
bv.setComment(StringUtils.isNotBlank(dto.getComment()) ? dto.getComment() : "重新提交");
bv.setInstanceId(dto.getInstanceId());
return complete(bv);
}
return rb;
}
private synchronized int submitBusinessData(SubmitLoanRestoreReportDto dto, LoanRestoreReportApply loanRestoreReportApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (loanRestoreReportApply != null) {
String businessTaskId = loanRestoreReportApply.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<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
String businessSid = bv.getBusinessSid();
LoanRestoreReportApply loanRestoreReportApply = fetchBySid(businessSid);
Map<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
FlowProcessMapQuery flowProcessMapQuery = new FlowProcessMapQuery();
if (StringUtils.isBlank(loanRestoreReportApply.getProcDefId())) {
flowProcessMapQuery.setProDefKey(bv.getModelId());
} else {
flowProcessMapQuery.setProDefKey(loanRestoreReportApply.getProcDefId());
}
flowProcessMapQuery.setVariables(variables);
variables = flowableFeign.getMap(flowProcessMapQuery).getData();
//=======================================
bv.setFormVariables(variables);
bv.setOrgSidPath(loanRestoreReportApply.getOrgPath());
if (bv.getTaskId().equals(loanRestoreReportApply.getTaskId())) {
ResultBean<UpdateFlowFieldVo> 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 {
//极光推送
loanRestoreReportApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
ufVo.setProcDefId(loanRestoreReportApply.getProcDefId());
ufVo.setProcInsId(loanRestoreReportApply.getProcInstSid());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("车辆交回事前报备申请");
messageFlowableQuery.setMsgContent(loanRestoreReportApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
messageFlowableQuery.setMsgTitle("车辆交回事前报备申请");
messageFeign.pushMessage(messageFlowableQuery);
}
return rb.success().setData(resultBean.getData());
} else {
return rb.setMsg("操作失败!提交的数据不一致");
}
}
public ResultBean<List<LoanRestoreReportNodeVo>> getPreviousNodesForReject(LoanRestoreReportNodeQuery query) {
ResultBean<List<LoanRestoreReportNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.LOANRESTOREREPORTAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanRestoreReportNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanRestoreReportNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean<List<LoanRestoreReportNodeVo>> getNextNodesForSubmit(LoanRestoreReportNodeQuery query) {
ResultBean<List<LoanRestoreReportNodeVo>> rb = ResultBean.fireFail();
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(query, bv);
bv.setModelId(ProcDefEnum.LOANRESTOREREPORTAPPLY.getProDefId());
ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
//判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
List<LoanRestoreReportNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), LoanRestoreReportNodeVo.class)).collect(Collectors.toList());
return rb.success().setData(voList);
}
public ResultBean reject(LoanRestoreReportTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
String businessSid = query.getBusinessSid();
LoanRestoreReportApply loanRestoreReportApply = fetchBySid(businessSid);
if (loanRestoreReportApply == null) {
return rb.setMsg("该申请不存在");
}
String businessTaskId = loanRestoreReportApply.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<String, Object> variables = new HashMap<>();
Map<String, Object> appMap = new HashMap<>();
appMap.put("sid", businessSid);
variables.put("app", appMap);
flowTaskVo.setValues(variables);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
UpdateFlowFieldVo ufVo = resultBean.getData();
Map<String, Object> map = BeanUtil.beanToMap(ufVo);
//更新业务中的流程相关的参数
updateFlowFiled(map);
//极光推送
loanRestoreReportApply = fetchBySid(businessSid);
MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
MessageFlowVo messageFlowVo = new MessageFlowVo();
BeanUtil.copyProperties(ufVo, messageFlowVo);
String procId = loanRestoreReportApply.getProcInstSid();
ufVo.setProcInsId(procId);
ufVo.setProcDefId(loanRestoreReportApply.getProcDefId());
messageFlowableQuery.setUfVo(messageFlowVo);
messageFlowableQuery.setAppMap(appMap);
messageFlowableQuery.setBusinessSid(businessSid);
messageFlowableQuery.setModuleName("车辆交回事前报备申请");
ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(loanRestoreReportApply.getCreateBySid())) {
messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
} else {
messageFlowableQuery.setMsgContent(loanRestoreReportApply.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
}
messageFlowableQuery.setMsgTitle("车辆交回事前报备申请");
messageFeign.pushMessage(messageFlowableQuery);
return rb.success();
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean revokeProcess(LoanRestoreReportTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
LoanRestoreReportApply loanRestoreReportApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanRestoreReportApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (businessTaskId.equals(query.getTaskId())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> 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(LoanRestoreReportTaskQuery 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("请填写意见");
}
LoanRestoreReportApply loanRestoreReportApply = fetchBySid(query.getBusinessSid());
String businessTaskId = loanRestoreReportApply.getTaskId();
if (StringUtils.isNotBlank(businessTaskId)) {
if (query.getUserSid().equals(loanRestoreReportApply.getCreateBySid())) {
FlowTaskVo flowTaskVo = new FlowTaskVo();
BeanUtil.copyProperties(query, flowTaskVo);
ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> 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<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
updateFlowFiled(map);
return rb.success().setData(resultBean.getData());
}
}
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean delegate(LoanRestoreReportDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanvehclearanceapply/LoanVehClearanceApplyService.java

@ -192,6 +192,9 @@ public class LoanVehClearanceApplyService extends MybatisBaseService<LoanVehClea
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')"
);
@ -385,6 +388,10 @@ public class LoanVehClearanceApplyService extends MybatisBaseService<LoanVehClea
return vo;
}
public LoanVehClearanceVehInit initVehListBySaleVehSid(String saleVehSid){
LoanVehClearanceVehInit loanVehClearanceVehInit = baseMapper.initVehListBySaleVehSid(saleVehSid);
return loanVehClearanceVehInit;
}
public LoanVehClearanceApplyDetailsVo init(LoanVehClearanceInitQuery query) {
List<String> saleVehSids = query.getSaleVehSids();
@ -409,7 +416,6 @@ public class LoanVehClearanceApplyService extends MybatisBaseService<LoanVehClea
loanVehClearanceVehDetailsVo.setCustomerName(loanVehClearanceVehInit.getCustName());
loanVehClearanceVehDetailsVo.setBorrowerName(loanVehClearanceVehInit.getLoanName());
List<LoanVehClearanceVehFile> loanVehClearanceVehFiles = new ArrayList<>();
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanVehClearanceVehInit.getSalesOrderSid()).getData();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(loanVehClearanceVehInit.getSaleVehSid()).getData();
//担保人sid
LoanVehClearanceVehFile LoanVehClearanceVehFile1 = new LoanVehClearanceVehFile();

Loading…
Cancel
Save