
50 changed files with 3010 additions and 5 deletions
@ -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; |
||||
|
|
||||
|
} |
@ -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<>(); |
||||
|
} |
@ -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); |
||||
|
|
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
@ -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<>(); |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
|
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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<>();*/ |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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 { |
||||
|
|
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,11 @@ |
|||||
|
package com.yxt.anrui.riskcenter.api.loansubletveh; |
||||
|
|
||||
|
|
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
|
||||
|
@Component |
||||
|
public class LoanSubletVehFeignFallback implements LoanSubletVehFeign { |
||||
|
|
||||
|
|
||||
|
} |
@ -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); |
||||
|
|
||||
|
} |
@ -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> |
@ -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); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
File diff suppressed because it is too large
@ -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); |
||||
|
} |
@ -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> |
@ -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 { |
||||
|
|
||||
|
|
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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); |
||||
|
} |
@ -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; |
||||
|
} |
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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; |
||||
|
} |
@ -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; |
||||
|
|
||||
|
} |
@ -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); |
||||
|
} |
||||
|
} |
@ -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…
Reference in new issue