Browse Source

交回车辆二次转租

master
fanzongzhe 1 year ago
parent
commit
c9eea78cfb
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java
  2. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionVinList.java
  3. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java
  4. 72
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java
  5. 49
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java
  6. 106
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java
  7. 97
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java
  8. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFile.java
  9. 72
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java
  10. 47
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyQuery.java
  11. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyVo.java
  12. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java
  13. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinList.java
  14. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinListQuery.java
  15. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinListVo.java
  16. 97
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/app/AppSubletDetailsVo.java
  17. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/app/AppSubletVinListVo.java
  18. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletCompleteDto.java
  19. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletDelegateQuery.java
  20. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletGetNodeQuery.java
  21. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletGetNodeVo.java
  22. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletTaskQuery.java
  23. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubmitSubletDto.java
  24. 34
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVeh.java
  25. 22
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVehFeign.java
  26. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVehFeignFallback.java
  27. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java
  28. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml
  29. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java
  30. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java
  31. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml
  32. 31
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.java
  33. 99
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml
  34. 119
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java
  35. 1073
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java
  36. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehMapper.java
  37. 21
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehMapper.xml
  38. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehRest.java
  39. 28
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehService.java
  40. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/redemption/RedemptionFeign.java
  41. 28
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/AppSubletApplyVinList.java
  42. 99
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyDetailsVo.java
  43. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyFeign.java
  44. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyFeignFallback.java
  45. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/AppSubletApplyDelegateQuery.java
  46. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/AppSubletApplyTaskQuery.java
  47. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/CompleteSubletApplyDto.java
  48. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/SubletApplyFlowableQuery.java
  49. 68
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/subletApply/SubletApplyRest.java
  50. 157
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/subletApply/SubletApplyService.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java

@ -66,7 +66,5 @@ public class LoanRedemptionApply extends BaseEntity {
private BigDecimal fees;
@ApiModelProperty("相关费用说明")
private String feesShows;
@ApiModelProperty("交回车辆主车台账sid")
private String ledgerSid;
}

1
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionVinList.java

@ -15,4 +15,5 @@ public class RedemptionVinList {
private String vehType;
private String vehModel;
private String busVinSid;
private String ledgerSid;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java

@ -31,4 +31,6 @@ public class LoanRedemptionVeh extends BaseEntity {
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("交回车辆台账sid")
private String ledgerSid;
}

72
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java

@ -0,0 +1,72 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
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.math.BigDecimal;
import java.util.Date;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "赎回申请", description = "赎回申请")
@TableName("loan_redemption_apply")
@Data
public class LoanSubletApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请日期")
private Date applyDate; // 申请日期
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("办结日期")
private Date closingDate;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private BigDecimal amount;
@ApiModelProperty("赎回方案")
private String plan;
@ApiModelProperty("停放地点")
private String location;
@ApiModelProperty("相关费用")
private BigDecimal fees;
@ApiModelProperty("相关费用说明")
private String feesShows;
@ApiModelProperty("交回车辆主车台账sid")
private String ledgerSid;
}

49
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java

@ -0,0 +1,49 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 14:11
*/
@Data
public class LoanSubletApplyDto implements Dto {
private String ledgerSid;
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String orgPath;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private String amount;
@ApiModelProperty("赎回方案")
private String plan;
@ApiModelProperty("停放地点")
private String location;
@ApiModelProperty("相关费用")
private String fees;
@ApiModelProperty("相关费用说明")
private String feesShows;
private String busVinSid; //催收记录
private List<LoanSubletApplyFile> files = new ArrayList<>();
private List<SubletVinList> vinList = new ArrayList<>();
}

106
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java

@ -0,0 +1,106 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
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 io.swagger.annotations.ApiParam;
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;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "交回车辆二次转租申请")
@FeignClient(
contextId = "anrui-riskcenter-LoanSubletApply",
name = "anrui-riskcenter",
path = "v1/loansubletapply",
fallback = LoanSubletApplyFeignFallback.class)
public interface LoanSubletApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanSubletApplyVo>> listPage(@RequestBody PagerQuery<LoanSubletApplyQuery> pq);
@ApiOperation("查询可处置车辆列表")
@PostMapping("/getVinList")
public ResultBean<PagerVo<SubletVinListVo>> getVinList(@RequestBody PagerQuery<SubletVinListQuery> pq);
@ApiOperation("新增初始化")
@GetMapping("/subletInit")
@ResponseBody
public ResultBean<LoanSubletApplyInit> subletInit(@RequestParam("ledgerSid") String ledgerSid);
@ApiOperation("保存修改")
@PostMapping("/saveSublet")
@ResponseBody
public ResultBean<String> saveSublet(@RequestBody LoanSubletApplyDto dto);
@ApiOperation("详情查看")
@GetMapping("subletDetails")
@ResponseBody
public ResultBean<LoanSubletApplyInit> subletDetails(@RequestParam("sid") String sid);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody
public ResultBean deleteBySids(@RequestBody String[] sids);
//------------------------------流程接口----------------------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitSubletDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody SubletCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody SubletTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody SubletTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody SubletTaskQuery query);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<SubletGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap SubletGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<SubletGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap SubletGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody SubletDelegateQuery query);
//-------------------------app------------------------
@ApiOperation("详情查看")
@GetMapping("/appDetails")
@ResponseBody
public ResultBean<AppSubletDetailsVo> appDetail(@RequestParam("sid") String sid);
}

97
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java

@ -0,0 +1,97 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
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;
@Component
public class LoanSubletApplyFeignFallback implements LoanSubletApplyFeign {
@Override
public ResultBean<PagerVo<LoanSubletApplyVo>> listPage(PagerQuery<LoanSubletApplyQuery> pq) {
return null;
}
@Override
public ResultBean<PagerVo<SubletVinListVo>> getVinList(PagerQuery<SubletVinListQuery> pq) {
return null;
}
@Override
public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) {
return null;
}
@Override
public ResultBean<String> saveSublet(LoanSubletApplyDto dto) {
return null;
}
@Override
public ResultBean<LoanSubletApplyInit> subletDetails(String sid) {
return null;
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitSubletDto dto) {
return null;
}
@Override
public ResultBean complete(SubletCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(SubletTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(SubletTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(SubletTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<SubletGetNodeVo>> getNextNodesForSubmit(SubletGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<SubletGetNodeVo>> getPreviousNodesForReject(SubletGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(SubletDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppSubletDetailsVo> appDetail(String sid) {
return null;
}
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFile.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/17 9:18
*/
@Data
public class LoanSubletApplyFile {
private String filePath;
private String name;
private String size;
private String status;
private String uid;
private String url;
}

72
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java

@ -0,0 +1,72 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 13:43
*/
@Data
public class LoanSubletApplyInit implements Vo {
private String ledgerSid;
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String orgPath;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private String amount;
@ApiModelProperty("赎回方案")
private String plan;
@ApiModelProperty("停放地点")
private String location;
@ApiModelProperty("相关费用")
private String fees;
@ApiModelProperty("相关费用说明")
private String feesShows;
//费用
@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; // 逾期金额换算期数
private String busVinSid; //催收记录
private String rksqSid; //入库申请sid
private List<LoanSubletApplyFile> files = new ArrayList<>();
private List<SubletVinList> vinList = new ArrayList<>();
}

47
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyQuery.java

@ -0,0 +1,47 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/13 13:32
*/
@Data
public class LoanSubletApplyQuery implements Query {
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("分公司")
private String company; // 使用组织名称
@ApiModelProperty("申请人")
private String applyName; // 申请人
private String applyStartDate;
private String applyEndDate;
private String closingStartDate;
private String closingEndDate;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("申请部门")
private String dept;
}

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyVo.java

@ -0,0 +1,48 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/13 13:32
*/
@Data
public class LoanSubletApplyVo implements Vo {
private String sid;
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("分公司")
private String company; // 使用组织名称
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("办结日期")
private String closingDate;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private String amount;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
}

32
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/11 14:57
*/
@Data
public class SubletInitVo {
private String ledgerSid;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("停放地点")
private String location;
private String busVinSid;
private String vinSid;
private String vinNo;
private String vehMark;
private String vehType;
private String vehModel;
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinList.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/11 14:29
*/
@Data
public class SubletVinList {
private String vinSid;
private String vinNo;
private String vehMark;
private String vehType;
private String vehModel;
private String busVinSid;
}

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinListQuery.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/11 13:38
*/
@Data
public class SubletVinListQuery implements Query {
private String vinNo;
private String vehMark;
private String orgPath;
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletVinListVo.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/11 13:33
*/
@Data
public class SubletVinListVo {
private String ledgerSid;
private String vinNo;
private String vehMark;
private String vehType;
private String vehModel;
private String bankName;
private String customer;
private String borrowerName;
}

97
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/app/AppSubletDetailsVo.java

@ -0,0 +1,97 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.app;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/1/11 17:22
*/
@Data
public class AppSubletDetailsVo {
private String sid;
private String publishInfo;
private String time;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
/**
* 已还金额
*/
private String alRepaidMoney;
/**
* 已还金额换算期数
*/
private String alRepaidMoneyConPeriod;
/**
* 本次还款金额
*/
private String amount;
/**
* 资方合同号
*/
private String bankContractNo;
/**
* 资方
*/
private String bankName;
/**
* 逾期金额换算期数
*/
private String beOverdueMoneyAndPeriod;
/**
* 贷款人
*/
private String borrName;
/**
* 催收记录
*/
private String csjlSid;
/**
* 客户名称
*/
private String custName;
/**
* 相关费用
*/
private String fees;
/**
* 费用说明
*/
private String feesShows;
/**
* 贷款合同号
*/
private String loanContractNo;
/**
* 停放地点
*/
private String location;
/**
* 赎回方案
*/
private String plan;
/**
* 总期数/当前期数
*/
private String qsCount;
/**
* 入库申请
*/
private String rksqSid;
/**
* 未到期金额
*/
private String unexpiredMoney;
/**
* 车辆列表
*/
private List<AppSubletVinListVo> vinList = new ArrayList<>();
/**
* 当前逾期金额/其中资金占用费
*/
private String yqzjzyMoney;
}

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/app/AppSubletVinListVo.java

@ -0,0 +1,28 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.app;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/11 17:35
*/
@Data
public class AppSubletVinListVo {
/**
* 车型
*/
private String model;
/**
* 车牌号
*/
private String vehMark;
/**
* 车辆类型
*/
private String vehType;
/**
* 车架号
*/
private String vinNo;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletCompleteDto.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.flow;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 9:01
* @Description
*/
@Data
public class SubletCompleteDto implements Dto {
private static final long serialVersionUID = 3240453987322803352L;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "用户全路径sid")
private String orgSidPath;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:instanceId")
private String instanceId;
@ApiModelProperty(value = "意见")
@NotBlank(message = "参数错误:comment")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletDelegateQuery.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletGetNodeQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Map;
/**
* @Author dimengzhe
* @Date 2022/6/28 10:42
* @Description
*/
@Data
public class SubletGetNodeQuery implements Query {
private static final long serialVersionUID = -5674867230708197611L;
@ApiModelProperty(value = "环节定义id")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "分支字段及业务字段")
private Map<String, Object> formVariables;
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletGetNodeVo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.flow;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
/**
* @Author dimengzhe
* @Date 2022/6/28 11:09
* @Description
*/
@Data
public class SubletGetNodeVo implements Vo {
private static final long serialVersionUID = 8802774014747063504L;
@ApiModelProperty(value = "节点名称")
private String name;
@ApiModelProperty(value = "节点id")
private String id;
@ApiModelProperty(value = "审批组")
private List<String> candidateGroups;
@ApiModelProperty(value = "是否是最后环节")
private String endTask;
}

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubletTaskQuery.java

@ -0,0 +1,56 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @Author dimengzhe
* @Date 2022/6/28 17:29
* @Description 终止撤回驳回查询参数
*/
@Data
public class SubletTaskQuery implements Query {
private static final long serialVersionUID = -4006020771892400451L;
/**
* 终止驳回撤回
*/
@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")
private String instanceId;
/*@ApiModelProperty("用户Id")
private String userId;
@ApiModelProperty("节点")
private String targetKey;
@ApiModelProperty("流程变量信息")
private Map<String, Object> values = new HashMap<>();
@ApiModelProperty("审批人")
private String assignee;
@ApiModelProperty("候选人")
private List<String> candidateUsers = new ArrayList<>();
@ApiModelProperty("审批组")
private List<String> candidateGroups = new ArrayList<>();*/
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/flow/SubmitSubletDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loansubletapply.flow;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2022/6/27 13:38
* @Description
*/
@Data
public class SubmitSubletDto extends LoanSubletApplyDto {
private static final long serialVersionUID = 378585162071125756L;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务id")
private String taskId;
}

34
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVeh.java

@ -0,0 +1,34 @@
package com.yxt.anrui.riskcenter.api.loansubletveh;
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;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "赎回车辆列表", description = "赎回车辆列表")
@TableName("loan_redemption_veh")
@Data
public class LoanSubletVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请表sid")
private String mainSid;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车辆订单业务sid")
private String busVinSid;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("0主车1挂车")
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
}

22
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVehFeign.java

@ -0,0 +1,22 @@
package com.yxt.anrui.riskcenter.api.loansubletveh;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "二次转租车辆列表")
@FeignClient(
contextId = "anrui-riskcenter-LoanSubletVeh",
name = "anrui-riskcenter",
path = "v1/loansubletveh",
fallback = LoanSubletVehFeignFallback.class)
public interface LoanSubletVehFeign {
}

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletveh/LoanSubletVehFeignFallback.java

@ -0,0 +1,11 @@
package com.yxt.anrui.riskcenter.api.loansubletveh;
import org.springframework.stereotype.Component;
@Component
public class LoanSubletVehFeignFallback implements LoanSubletVehFeign {
}

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java

@ -26,4 +26,5 @@ public interface LoanRedemptionApplyMapper extends BaseMapper<LoanRedemptionAppl
int updateFlowFiled(Map<String, Object> map);
String selTrailerByMainLedgerSid(@Param("ledgerSid") String ledgerSid);
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml

@ -96,4 +96,9 @@
FROM loan_return_trailer_ledger as t
WHERE t.mainSid = #{ledgerSid}
</select>
<select id="selTrailerByMainLedgerSid" resultType="java.lang.String">
SELECT sid
FROM loan_return_trailer_ledger as t
WHERE t.mainSid = #{ledgerSid}
</select>
</mapper>

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java

@ -26,7 +26,7 @@ import java.util.List;
public class LoanRedemptionApplyRest implements LoanRedemptionApplyFeign {
@Autowired
LoanRedemptionApplyService loanRedemptionApplyService;
private LoanRedemptionApplyService loanRedemptionApplyService;
@Override
public ResultBean<PagerVo<LoanRedemptionApplyVo>> listPage(PagerQuery<LoanRedemptionApplyQuery> pq) {

11
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java

@ -343,6 +343,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
}
List<RedemptionVinList> vinList = dto.getVinList();
if (!vinList.isEmpty()) {
String guaCheLedgerSid = "";
for (RedemptionVinList record : vinList) {
LoanRedemptionVeh redemptionVeh = new LoanRedemptionVeh();
redemptionVeh.setMainSid(sid);
@ -363,7 +364,11 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
if (record.getVehType().equals("主车")) {
if (StringUtils.isNotBlank(dto.getBusVinSid())) {
redemptionVeh.setBusVinSid(dto.getBusVinSid());
redemptionVeh.setLedgerSid(dto.getLedgerSid());
}
} else if (record.getVehType().equals("挂车")) {
guaCheLedgerSid = baseMapper.selTrailerByMainLedgerSid(dto.getLedgerSid());
redemptionVeh.setLedgerSid(guaCheLedgerSid);
}
}
loanRedemptionVehService.insert(redemptionVeh);
@ -392,6 +397,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
baseMapper.insert(loanRedemptionApply);
List<RedemptionVinList> vinList = dto.getVinList();
if (!vinList.isEmpty()) {
String guaCheLedgerSid = "";
for (RedemptionVinList record : vinList) {
LoanRedemptionVeh redemptionVeh = new LoanRedemptionVeh();
redemptionVeh.setMainSid(sid);
@ -413,6 +419,10 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
if (StringUtils.isNotBlank(dto.getBusVinSid())) {
redemptionVeh.setBusVinSid(dto.getBusVinSid());
}
redemptionVeh.setLedgerSid(dto.getLedgerSid());
} else if (record.getVehType().equals("挂车")) {
guaCheLedgerSid = baseMapper.selTrailerByMainLedgerSid(dto.getLedgerSid());
redemptionVeh.setLedgerSid(guaCheLedgerSid);
}
}
loanRedemptionVehService.insert(redemptionVeh);
@ -457,6 +467,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
redemptionVinLists.stream().forEach(v -> {
if (v.getVehType().equals("主车")) {
vo.setBusVinSid(v.getBusVinSid());
vo.setLedgerSid(v.getLedgerSid());
}
});
vo.setVinList(redemptionVinLists);

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml

@ -14,7 +14,8 @@
vehMark,
vehModel,
busVinSid,
vehType
vehType,
ledgerSid
FROM loan_redemption_veh
WHERE mainSid = #{mainSid}
</select>

31
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.java

@ -0,0 +1,31 @@
package com.yxt.anrui.riskcenter.biz.loansubletapply;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApply;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListQuery;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
@Mapper
public interface LoanSubletApplyMapper extends BaseMapper<LoanSubletApply> {
IPage<LoanSubletApplyVo> listPage(IPage<LoanSubletApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanSubletApply> qw);
IPage<SubletVinListVo> getVinList(IPage<SubletVinListVo> page, @Param(Constants.WRAPPER) QueryWrapper<SubletVinListQuery> qw);
RedemptionInitVo redemptionInit(@Param("ledgerSid") String ledgerSid);
RedemptionVinList selTrailerByLedgerSid(@Param("ledgerSid") String ledgerSid);
int updateFlowFiled(Map<String, Object> map);
}

99
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml

@ -0,0 +1,99 @@
<?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.loansubletapply.LoanSubletApplyMapper">
<update id="updateFlowFiled">
UPDATE loan_redemption_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo">
SELECT
a.sid,
a.nodeState,
a.useOrgName as company,
a.dept,
a.applyName,
date_format(a.applyDate, '%Y-%m-%d') as applyDate,
a.procDefId,
a.procInstId,
date_format(a.closingDate, '%Y-%m-%d') as closingDate,
a.loanContractNo,
a.bankName,
a.bankContractNo,
a.borrowerName,
a.customer,
a.amount,
v.vinNo,
v.vehMark
FROM loan_redemption_apply as a
LEFT JOIN loan_redemption_veh as v
ON a.sid = v.mainSid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getVinList" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListVo">
SELECT
v.sid ledgerSid,
v.vinNo,
v.vehMark,
v.vehModel,
v.customer,
v.borrowerName,
v.vehType,
(SELECT c.bankName FROM anrui_buscenter.bus_sales_order_loancontract as c WHERE c.sid =
(SELECT b.loanContractSid FROM anrui_buscenter.bus_sales_order_vehicle as b WHERE b.linkSid = v.vinSid and
b.borrowerSid = v.borrowerSid)) as bankName
FROM loan_return_veh_ledger as v
<where>
${ew.sqlSegment}
</where>
</select>
<select id="redemptionInit" resultType="com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionInitVo">
SELECT a.*,
c.bankName,
c.bankContractNo,
c.loanContractNo
FROM (SELECT v.sid ledgerSid,
v.vinNo,
v.vinSid,
v.vehMark,
v.vehModel,
v.customer,
v.vehType,
v.location,
v.borrowerName,
(SELECT b.sid
FROM anrui_buscenter.bus_sales_order_vehicle as b
WHERE b.linkSid = v.vinSid
and b.borrowerSid = v.borrowerSid) as busVinSid,
(SELECT b.loanContractSid
FROM anrui_buscenter.bus_sales_order_vehicle as b
WHERE b.linkSid = v.vinSid
and b.borrowerSid = v.borrowerSid) as loanContractSid
FROM loan_return_veh_ledger as v) a
LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as c ON c.sid = a.loanContractSid
WHERE a.ledgerSid = #{ledgerSid}
</select>
<select id="selTrailerByLedgerSid"
resultType="com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList">
SELECT vinSid,
vinNo,
vehMark,
vehType,
vehModel
FROM loan_return_trailer_ledger as t
WHERE t.mainSid = #{ledgerSid}
</select>
</mapper>

119
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java

@ -0,0 +1,119 @@
package com.yxt.anrui.riskcenter.biz.loansubletapply;
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.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppRedemptionDetailsVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "交回车辆二次转租申请")
@RestController
@RequestMapping("v1/loansubletapply")
public class LoanSubletApplyRest implements LoanSubletApplyFeign {
@Autowired
private LoanSubletApplyService loanSubletApplyService;
@Override
public ResultBean<PagerVo<LoanSubletApplyVo>> listPage(PagerQuery<LoanSubletApplyQuery> pq) {
ResultBean<PagerVo<LoanSubletApplyVo>> rb = ResultBean.fireFail();
PagerVo<LoanSubletApplyVo> pv = loanSubletApplyService.listPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<PagerVo<SubletVinListVo>> getVinList(PagerQuery<SubletVinListQuery> pq) {
ResultBean<PagerVo<SubletVinListVo>> rb = ResultBean.fireFail();
PagerVo<SubletVinListVo> pv = loanSubletApplyService.getVinList(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) {
return loanSubletApplyService.subletInit(ledgerSid);
}
@Override
public ResultBean<String> saveSublet(LoanSubletApplyDto dto) {
return loanSubletApplyService.saveSublet(dto);
}
@Override
public ResultBean<LoanSubletApplyInit> subletDetails(String sid) {
return loanSubletApplyService.subletDetails(sid);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return loanSubletApplyService.deleteBySids(sids);
}
@Override
public ResultBean submitRecordApplication(SubmitSubletDto dto) {
return loanSubletApplyService.submitRecordApplication(dto);
}
@Override
public ResultBean complete(SubletCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.LOANREDEMPTIONAPPLY.getProDefId());
return loanSubletApplyService.complete(bv);
}
@Override
public ResultBean revokeProcess(SubletTaskQuery query) {
return loanSubletApplyService.revokeProcess(query);
}
@Override
public ResultBean taskReject(SubletTaskQuery query) {
return loanSubletApplyService.taskReject(query);
}
@Override
public ResultBean breakProcess(SubletTaskQuery query) {
return loanSubletApplyService.breakProcess(query);
}
@Override
public ResultBean flowRecord(String procInsId) {
return loanSubletApplyService.flowRecord(procInsId);
}
@Override
public ResultBean<List<SubletGetNodeVo>> getNextNodesForSubmit(SubletGetNodeQuery query) {
return loanSubletApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<SubletGetNodeVo>> getPreviousNodesForReject(SubletGetNodeQuery query) {
return loanSubletApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean delegate(SubletDelegateQuery query) {
return loanSubletApplyService.delegate(query);
}
@Override
public ResultBean<AppSubletDetailsVo> appDetail(String sid) {
return loanSubletApplyService.appDetail(sid);
}
}

1073
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java

File diff suppressed because it is too large

20
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehMapper.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.biz.loansubletveh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface LoanSubletVehMapper extends BaseMapper<LoanSubletVeh> {
int deleteByMainSid(@Param("mainSid") String mainSid);
List<SubletVinList> selByMainSid(@Param("mainSid") String mainSid);
}

21
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehMapper.xml

@ -0,0 +1,21 @@
<?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.loansubletveh.LoanSubletVehMapper">
<delete id="deleteByMainSid">
DELETE
FROM loan_redemption_veh
WHERE mainSid = #{mainSid}
</delete>
<select id="selByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList">
select vinSid,
vinNo,
vehMark,
vehModel,
busVinSid,
vehType
FROM loan_redemption_veh
WHERE mainSid = #{mainSid}
</select>
</mapper>

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehRest.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.biz.loansubletveh;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVehFeign;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVehFeign;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "二次转租车辆列表")
@RestController
@RequestMapping("v1/loansubletveh")
public class LoanSubletVehRest implements LoanSubletVehFeign {
}

28
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletveh/LoanSubletVehService.java

@ -0,0 +1,28 @@
package com.yxt.anrui.riskcenter.biz.loansubletveh;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @description:
* @author: fzz
* @date: 2023/7/6
**/
@Service
public class LoanSubletVehService extends MybatisBaseService<LoanSubletVehMapper, LoanSubletVeh> {
public int deleteByMainSid(String mainSid) {
return baseMapper.deleteByMainSid(mainSid);
}
public List<SubletVinList> selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/redemption/RedemptionFeign.java

@ -28,7 +28,7 @@ import javax.validation.Valid;
public interface RedemptionFeign {
@ApiOperation("划扣申请")
@ApiOperation("详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<RedemptionDetailsVo> detail(@PathVariable("sid") String sid);

28
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/AppSubletApplyVinList.java

@ -0,0 +1,28 @@
package com.yxt.anrui.terminal.api.risk.subletApply;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:45
*/
@Data
public class AppSubletApplyVinList {
/**
* 车型
*/
private String model;
/**
* 车牌号
*/
private String vehMark;
/**
* 车辆类型
*/
private String vehType;
/**
* 车架号
*/
private String vinNo;
}

99
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyDetailsVo.java

@ -0,0 +1,99 @@
package com.yxt.anrui.terminal.api.risk.subletApply;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 15:38
*/
@Data
public class SubletApplyDetailsVo implements Vo {
private String sid;
private String publishInfo;
private String time;
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
/**
* 已还金额
*/
private String alRepaidMoney;
/**
* 已还金额换算期数
*/
private String alRepaidMoneyConPeriod;
/**
* 本次还款金额
*/
private String amount;
/**
* 资方合同号
*/
private String bankContractNo;
/**
* 资方
*/
private String bankName;
/**
* 逾期金额换算期数
*/
private String beOverdueMoneyAndPeriod;
/**
* 贷款人
*/
private String borrName;
/**
* 催收记录
*/
private String csjlSid;
/**
* 客户名称
*/
private String custName;
/**
* 相关费用
*/
private String fees;
/**
* 费用说明
*/
private String feesShows;
/**
* 贷款合同号
*/
private String loanContractNo;
/**
* 停放地点
*/
private String location;
/**
* 赎回方案
*/
private String plan;
/**
* 总期数/当前期数
*/
private String qsCount;
/**
* 入库申请
*/
private String rksqSid;
/**
* 未到期金额
*/
private String unexpiredMoney;
/**
* 车辆列表
*/
private List<AppSubletApplyVinList> vinList = new ArrayList<>();
/**
* 当前逾期金额/其中资金占用费
*/
private String yqzjzyMoney;
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyFeign.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.risk.subletApply;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.CompleteSubletApplyDto;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.SubletApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "交回车辆二次转租")
@FeignClient(
contextId = "terminal-SubletApply",
name = "anrui-terminal",
path = "/riskcenter/v1/subletapply",
fallback = SubletApplyFeignFallback.class)
public interface SubletApplyFeign {
@ApiOperation("详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<SubletApplyDetailsVo> detail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteSubletApplyDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppSubletApplyTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppSubletApplyTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppSubletApplyTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap SubletApplyFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppSubletApplyDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/SubletApplyFeignFallback.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.subletApply;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.CompleteSubletApplyDto;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.SubletApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: fzz
* @date:
**/
@Component
public class SubletApplyFeignFallback implements SubletApplyFeign {
@Override
public ResultBean<SubletApplyDetailsVo> detail(String sid) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteSubletApplyDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(AppSubletApplyTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(AppSubletApplyTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(AppSubletApplyTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(SubletApplyFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppSubletApplyDelegateQuery delegateQuery) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/AppSubletApplyDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.risk.subletApply.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 10:16
*/
@Data
public class AppSubletApplyDelegateQuery {
@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;
}

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/AppSubletApplyTaskQuery.java

@ -0,0 +1,46 @@
package com.yxt.anrui.terminal.api.risk.subletApply.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:14
*/
@Data
public class AppSubletApplyTaskQuery implements Query {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/CompleteSubletApplyDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.subletApply.flow;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @author Administrator
* @description
* @date 2023/10/17 9:13
*/
@Data
public class CompleteSubletApplyDto implements Dto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/subletApply/flow/SubletApplyFlowableQuery.java

@ -0,0 +1,21 @@
package com.yxt.anrui.terminal.api.risk.subletApply.flow;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class SubletApplyFlowableQuery implements Query {
private static final long serialVersionUID = -5879668616710833830L;
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

68
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/subletApply/SubletApplyRest.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.biz.risk.subletApply;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionDetailsVo;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionFeign;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.SubletApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.subletApply.SubletApplyFeign;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.CompleteSubletApplyDto;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.SubletApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: fzz
* @date:
**/
@Controller
@RequestMapping("/riskcenter/v1/subletapply")
public class SubletApplyRest implements SubletApplyFeign {
@Autowired
private SubletApplyService subletApplyService;
@Override
public ResultBean<SubletApplyDetailsVo> detail(String sid) {
return subletApplyService.detail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteSubletApplyDto dto) {
return subletApplyService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppSubletApplyTaskQuery query) {
return subletApplyService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppSubletApplyTaskQuery query) {
return subletApplyService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppSubletApplyTaskQuery query) {
return subletApplyService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(SubletApplyFlowableQuery query) {
return subletApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppSubletApplyDelegateQuery delegateQuery) {
return subletApplyService.delegate(delegateQuery);
}
}

157
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/subletApply/SubletApplyService.java

@ -0,0 +1,157 @@
package com.yxt.anrui.terminal.biz.risk.subletApply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFeign;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppRedemptionDetailsVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyFeign;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
import com.yxt.anrui.terminal.api.risk.redemption.RedemptionDetailsVo;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionDelegateQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.AppRedemptionTaskQuery;
import com.yxt.anrui.terminal.api.risk.redemption.flow.CompleteRedemptionDto;
import com.yxt.anrui.terminal.api.risk.redemption.flow.RedemptionFlowableQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.SubletApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.CompleteSubletApplyDto;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.SubletApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: fzz
* @date:
**/
@Service
public class SubletApplyService {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private LoanSubletApplyFeign loanSubletApplyFeign;
public ResultBean<SubletApplyDetailsVo> detail(String sid) {
ResultBean<SubletApplyDetailsVo> rb = ResultBean.fireFail();
SubletApplyDetailsVo vo = new SubletApplyDetailsVo();
AppSubletDetailsVo data = loanSubletApplyFeign.appDetail(sid).getData();
if (null != data) {
BeanUtil.copyProperties(data, vo);
}
return rb.success().setData(vo);
}
public ResultBean agreeCreditInfo(CompleteSubletApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
//根据用户sid获取staffSid
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(dto.getUserSid());
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
//根据staffSid获取用户的组织全路径
ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(userVoResultBean.getData().getStaffSid());
if (!staffOrgResultBean.getSuccess()) {
return rb.setMsg(staffOrgResultBean.getMsg());
}
//用户的组织全路径
String orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
SubletCompleteDto completeDto = new
SubletCompleteDto();
BeanUtil.copyProperties(dto, completeDto);
completeDto.setOrgSidPath(orgSidPath);
ResultBean resultBean = loanSubletApplyFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectCreditInfo(AppSubletApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SubletTaskQuery taskQuery = new
SubletTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanSubletApplyFeign.taskReject(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallCreditInfo(AppSubletApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SubletTaskQuery taskQuery = new
SubletTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanSubletApplyFeign.revokeProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopCreditInfo(AppSubletApplyTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
SubletTaskQuery taskQuery = new
SubletTaskQuery();
BeanUtil.copyProperties(query, taskQuery);
ResultBean resultBean = loanSubletApplyFeign.breakProcess(taskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(SubletApplyFlowableQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
SubletGetNodeQuery getNodeQuery = new
SubletGetNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<SubletGetNodeVo>> getPreviousNodesForReject = loanSubletApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<SubletGetNodeVo>> getNextNodesForSubmit = loanSubletApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean delegate(AppSubletApplyDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
SubletDelegateQuery delegateQuery1 = new
SubletDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanSubletApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}
Loading…
Cancel
Save