From 3f25b0c4e121b631899b68eab7736493b2015055 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Fri, 19 Jan 2024 15:27:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BA=A4=E5=9B=9E=E8=BD=A6=E8=BE=86=E5=87=BA?= =?UTF-8?q?=E5=BA=93=E6=A8=A1=E5=9D=97=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../anrui/flowable/api/utils/ProcDefEnum.java | 1 + .../loanoutboundapply/LoanOutboundApply.java | 80 ++ .../LoanOutboundApplyDto.java | 53 + .../LoanOutboundApplyFeign.java | 101 ++ .../LoanOutboundApplyFile.java | 18 + .../LoanOutboundApplyInit.java | 69 ++ .../LoanOutboundApplyQuery.java | 49 + .../LoanOutboundApplyVo.java | 50 + .../LoanOutboundFeignFallback.java | 87 ++ .../loanoutboundapply/LoanUpdateApplyDto.java | 16 + .../loanoutboundapply/OutboundVinList.java | 19 + .../loanoutboundapply/OutboundVinListDto.java | 20 + .../app/AppOutboundDetailsVo.java | 72 ++ .../app/AppOutboundVinListVo.java | 28 + .../flow/OutboundCompleteDto.java | 41 + .../flow/OutboundDelegateQuery.java | 26 + .../flow/OutboundGetNodeQuery.java | 26 + .../flow/OutboundGetNodeVo.java | 25 + .../flow/OutboundTaskQuery.java | 56 + .../flow/SubmitOutboundDto.java | 21 + .../api/loanoutboundveh/LoanOutboundVeh.java | 37 + .../loanoutboundveh/LoanOutboundVehFeign.java | 22 + .../LoanOutboundVehFeignFallback.java | 11 + .../LoanRedemptionApply.java | 2 + .../LoanRedemptionApplyDto.java | 2 + .../LoanRedemptionApplyInit.java | 2 + .../loanredemptionapply/RedemptionInitVo.java | 2 + .../loanrepaymentschedule/OtherPolicyVo.java | 14 + .../api/loansubletapply/CustomerListVo.java | 34 + .../api/loansubletapply/LoanSubletApply.java | 2 + .../loansubletapply/LoanSubletApplyDto.java | 2 + .../loansubletapply/LoanSubletApplyFeign.java | 6 + .../LoanSubletApplyFeignFallback.java | 5 + .../loansubletapply/LoanSubletApplyInit.java | 2 + .../api/loansubletapply/SubletInitVo.java | 2 + .../LoanOutboundApplyMapper.java | 43 + .../LoanOutboundApplyMapper.xml | 187 ++++ .../LoanOutboundApplyRest.java | 107 ++ .../LoanOutboundApplyService.java | 969 ++++++++++++++++++ .../LoanOutboundVehMapper.java | 19 + .../loanoutboundveh/LoanOutboundVehMapper.xml | 22 + .../loanoutboundveh/LoanOutboundVehRest.java | 16 + .../LoanOutboundVehService.java | 27 + .../LoanRedemptionApplyMapper.xml | 4 +- .../LoanRepaymentScheduleMapper.java | 2 + .../LoanRepaymentScheduleMapper.xml | 11 + .../LoanRepaymentScheduleService.java | 22 +- .../LoanSubletApplyMapper.java | 3 + .../loansubletapply/LoanSubletApplyMapper.xml | 17 +- .../loansubletapply/LoanSubletApplyRest.java | 5 + .../LoanSubletApplyService.java | 17 + 51 files changed, 2468 insertions(+), 6 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java create mode 100644 anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java diff --git a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java index 3cb9c51ff3..c89808923d 100644 --- a/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java +++ b/anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java @@ -73,6 +73,7 @@ public enum ProcDefEnum { LOANREDEMPTIONAPPLY("车辆交回赎回申请", "process_qu4fq4r6:1:7820004"), LOANRETUENINBOUNDAPPLY("交回车辆入库申请", "process_h0i1vnn8:1:7945004"), LOANSUBLETAPPLY("交回车辆二次转租申请", "process_lu7pdwzs:1:7940004"), + LOANOUTBOUNDVEHAPPLY("交回车辆出库申请", ""), /******************************测试流程id*********************************************/ diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java new file mode 100644 index 0000000000..3ee48cf518 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java @@ -0,0 +1,80 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +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_out_bound_apply") +@Data +public class LoanOutboundApply extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("申请人Sid") + private String applyUserSid; // 申请人 + @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; + private String customerSid; + private String borrowerSid; + @ApiModelProperty("客户名称") + private String customer; + @ApiModelProperty("贷款人") + private String borrowerName; + @ApiModelProperty("出库价格") + private BigDecimal amount; + @ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)") + private String disposal; + @ApiModelProperty("处置方式key") + private String disposalKey; + @ApiModelProperty("新车主名称") + private String newCustomer; + @ApiModelProperty("新客户sid") + private String newCustomerSid; + @ApiModelProperty("处置申请sid") + private String applySid; + @ApiModelProperty("联系电话") + private String phoneNum; + @ApiModelProperty("出库日期") + private Date outboundDate; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java new file mode 100644 index 0000000000..5eaf0dab25 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java @@ -0,0 +1,53 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList; +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 LoanOutboundApplyDto implements Dto { + private String createBySid; + @ApiModelProperty("使用组织sid") + private String useOrgSid; // 使用组织sid + @ApiModelProperty("使用组织名称") + private String useOrgName; // 使用组织名称 + @ApiModelProperty("组织全路径") + private String orgSidPath; // 申请人组织路径 + @ApiModelProperty("消贷合同号") + private String loanContractNo; + @ApiModelProperty("资方") + private String bankName; + @ApiModelProperty("资方合同号") + private String bankContractNo; + @ApiModelProperty("原客户sid") + private String customerSid; + @ApiModelProperty("原贷款人sid") + private String borrowerSid; + @ApiModelProperty("原客户名称") + private String customer; + @ApiModelProperty("原贷款人") + private String borrowerName; + @ApiModelProperty("处置方式key") + private String disposalKey; + @ApiModelProperty("处置方式") + private String disposal; + @ApiModelProperty("处置申请sid") + private String applySid; + @ApiModelProperty("新车主名称") + private String newCustomer; + @ApiModelProperty("新客户sid") + private String newCustomerSid; + @ApiModelProperty("新客户联系电话") + private String phoneNum; + @ApiModelProperty("处置车辆列表") + private List vinList = new ArrayList<>(); +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java new file mode 100644 index 0000000000..567f6a09a9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java @@ -0,0 +1,101 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*; +import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListQuery; +import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListVo; +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-LoanOutboundApply", + name = "anrui-riskcenter", + path = "v1/loanoutboundapply", + fallback = LoanOutboundFeignFallback.class) +public interface LoanOutboundApplyFeign { + + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq); + + @ApiOperation("保存") + @PostMapping("/saveOutbound") + @ResponseBody + public ResultBean saveOutbound(@RequestBody LoanOutboundApplyDto dto); + + @ApiOperation("修改") + @PostMapping("/updateOutbound") + @ResponseBody + public ResultBean updateOutbound(@RequestBody LoanUpdateApplyDto dto); + + + @ApiOperation("详情查看") + @GetMapping("outboundDetails") + @ResponseBody + public ResultBean outboundDetails(@RequestParam("sid") String sid); + + + //------------------------------流程接口---------------------------------------------- + + @ApiOperation("提交") + @PostMapping("/submit") + public ResultBean submitRecordApplication(@RequestBody @Valid SubmitOutboundDto dto); + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody OutboundCompleteDto dto); + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody OutboundTaskQuery query); + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody OutboundTaskQuery query); + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@RequestBody OutboundTaskQuery 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> getNextNodesForSubmit(@Valid @SpringQueryMap OutboundGetNodeQuery query); + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OutboundGetNodeQuery query); + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + public ResultBean delegate(@RequestBody OutboundDelegateQuery query); + + //-------------------------app------------------------ + @ApiOperation("详情查看") + @GetMapping("/appDetails") + @ResponseBody + public ResultBean appDetail(@RequestParam("sid") String sid); + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java new file mode 100644 index 0000000000..868a965679 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java @@ -0,0 +1,18 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/11/17 9:18 + */ +@Data +public class LoanOutboundApplyFile { + private String filePath; + private String name; + private String size; + private String status; + private String uid; + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java new file mode 100644 index 0000000000..c813c4c6f4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java @@ -0,0 +1,69 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList; +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 LoanOutboundApplyInit implements Vo { + + 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 agree; + @ApiModelProperty("新车主名称") + private String vinOwner; + @ApiModelProperty("客户类型key") + private String customerTypeKey; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("联系电话") + private String phoneNum; + @ApiModelProperty("证件地址") + private String cardAddress; + @ApiModelProperty("有效期") + private String endDate; + @ApiModelProperty("证件号码") + private String idNumber; + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + @ApiModelProperty("新车主客户sid") + private String newCustomerSid; + private List files = new ArrayList<>(); + private List vinList = new ArrayList<>(); + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java new file mode 100644 index 0000000000..a1b290ea3e --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java @@ -0,0 +1,49 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +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 LoanOutboundApplyQuery 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; + @ApiModelProperty("原车主是否同意0是1否") + private String agree; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java new file mode 100644 index 0000000000..00d112cc68 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java @@ -0,0 +1,50 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +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 LoanOutboundApplyVo 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; + @ApiModelProperty("原车主是否同意0是1否") + private String agree; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java new file mode 100644 index 0000000000..3350dda8c9 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java @@ -0,0 +1,87 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + + +import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.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 LoanOutboundFeignFallback implements LoanOutboundApplyFeign { + + + @Override + public ResultBean> listPage(PagerQuery pq) { + return null; + } + + @Override + public ResultBean saveOutbound(LoanOutboundApplyDto dto) { + return null; + } + + @Override + public ResultBean updateOutbound(LoanUpdateApplyDto dto) { + return null; + } + + @Override + public ResultBean outboundDetails(String sid) { + return null; + } + + @Override + public ResultBean submitRecordApplication(SubmitOutboundDto dto) { + return null; + } + + @Override + public ResultBean complete(OutboundCompleteDto dto) { + return null; + } + + @Override + public ResultBean revokeProcess(OutboundTaskQuery query) { + return null; + } + + @Override + public ResultBean taskReject(OutboundTaskQuery query) { + return null; + } + + @Override + public ResultBean breakProcess(OutboundTaskQuery query) { + return null; + } + + @Override + public ResultBean flowRecord(String procInsId) { + return null; + } + + @Override + public ResultBean> getNextNodesForSubmit(OutboundGetNodeQuery query) { + return null; + } + + @Override + public ResultBean> getPreviousNodesForReject(OutboundGetNodeQuery query) { + return null; + } + + @Override + public ResultBean delegate(OutboundDelegateQuery query) { + return null; + } + + @Override + public ResultBean appDetail(String sid) { + return null; + } +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java new file mode 100644 index 0000000000..438893cc34 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/19 9:55 + */ +@Data +public class LoanUpdateApplyDto implements Dto { + + private String sid; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java new file mode 100644 index 0000000000..93159ab863 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/19 9:42 + */ +@Data +public class OutboundVinList { + private String ledgerSid; + private String vinSid; + private String vinNo; + private String vehMark; + private String vehType; + private String vehModel; + private String busVinSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java new file mode 100644 index 0000000000..0a389011a6 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java @@ -0,0 +1,20 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/19 10:02 + */ +@Data +public class OutboundVinListDto { + private String ledgerSid; //交回车辆台账sid + private String vinSid; //车辆sid + private String vinNo; //车架号 + private String vehMark; //车牌号 + private String vehType; // 车辆类型(主车/挂车) + private String vehModel; //车型 + private String busVinSid; //销售订单车辆sid + private String location; //存放地点 +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java new file mode 100644 index 0000000000..a07cf6f00a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java @@ -0,0 +1,72 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.app; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/1/11 17:22 + */ +@Data +public class AppOutboundDetailsVo { + private String sid; + private String publishInfo; + private String time; //申请日期 + private List files = new ArrayList<>(); + private String taskId; + private String procInsId; + /** + * 本次转租金额 + */ + private String amount; + /** + * 资方合同号 + */ + private String bankContractNo; + /** + * 资方 + */ + private String bankName; + /** + * 贷款人 + */ + private String borrName; + /** + * 原车主是否同意 0是 1否 + */ + private String agree; + /** + * 客户名称 + */ + private String custName; + /** + * 贷款合同号 + */ + private String loanContractNo; + /** + * 转租方案说明 + */ + private String plan; + /** + * 车辆列表 + */ + private List vinList = new ArrayList<>(); + @ApiModelProperty("新车主名称") + private String vinOwner; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("联系电话") + private String phoneNum; + @ApiModelProperty("证件地址") + private String cardAddress; + @ApiModelProperty("有效期") + private String endDate; + @ApiModelProperty("证件号码") + private String idNumber; + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java new file mode 100644 index 0000000000..bbf0ccf462 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java @@ -0,0 +1,28 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.app; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/11 17:35 + */ +@Data +public class AppOutboundVinListVo { + /** + * 车型 + */ + private String model; + /** + * 车牌号 + */ + private String vehMark; + /** + * 车辆类型 + */ + private String vehType; + /** + * 车架号 + */ + private String vinNo; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java new file mode 100644 index 0000000000..2014262668 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java @@ -0,0 +1,41 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.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 OutboundCompleteDto 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 formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java new file mode 100644 index 0000000000..edde94c6a4 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.flow; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Administrator + * @description + * @date 2023/9/28 9:28 + */ +@Data +public class OutboundDelegateQuery { + @ApiModelProperty + private String userSid; + @ApiModelProperty("流程实例id") +// @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java new file mode 100644 index 0000000000..bdc3fab7f1 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java @@ -0,0 +1,26 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.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 OutboundGetNodeQuery implements Query { + private static final long serialVersionUID = -5674867230708197611L; + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + + @ApiModelProperty(value = "分支字段及业务字段") + private Map formVariables; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java new file mode 100644 index 0000000000..119cb33fb7 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.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 OutboundGetNodeVo implements Vo { + private static final long serialVersionUID = 8802774014747063504L; + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java new file mode 100644 index 0000000000..89ad5637bd --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java @@ -0,0 +1,56 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.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 OutboundTaskQuery 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 values = new HashMap<>(); + @ApiModelProperty("审批人") + private String assignee; + @ApiModelProperty("候选人") + private List candidateUsers = new ArrayList<>(); + @ApiModelProperty("审批组") + private List candidateGroups = new ArrayList<>();*/ +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java new file mode 100644 index 0000000000..3c889cb825 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java @@ -0,0 +1,21 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundapply.flow; + +import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApplyDto; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanUpdateApplyDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @Author dimengzhe + * @Date 2022/6/27 13:38 + * @Description + */ +@Data +public class SubmitOutboundDto extends LoanUpdateApplyDto { + private static final long serialVersionUID = 378585162071125756L; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java new file mode 100644 index 0000000000..0d8faa83d8 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java @@ -0,0 +1,37 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundveh; + +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_sublet_veh") +@Data +public class LoanOutboundVeh 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("主车/挂车") + private String vehType; + @ApiModelProperty("车型") + private String vehModel; + @ApiModelProperty("交回车辆台账sid") + private String ledgerSid; + +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java new file mode 100644 index 0000000000..21e27a7004 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java @@ -0,0 +1,22 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundveh; + +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-LoanOutboundVeh", + name = "anrui-riskcenter", + path = "v1/loanoutboundveh", + fallback = LoanOutboundVehFeignFallback.class) +public interface LoanOutboundVehFeign { + + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java new file mode 100644 index 0000000000..18605951e3 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java @@ -0,0 +1,11 @@ +package com.yxt.anrui.riskcenter.api.loanoutboundveh; + + +import org.springframework.stereotype.Component; + + +@Component +public class LoanOutboundVehFeignFallback implements LoanOutboundVehFeign { + + +} \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java index 7585451038..b05d3c7fbe 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java @@ -52,6 +52,8 @@ public class LoanRedemptionApply extends BaseEntity { private String bankName; @ApiModelProperty("资方合同号") private String bankContractNo; + private String customerSid; + private String borrowerSid; @ApiModelProperty("客户名称") private String customer; @ApiModelProperty("贷款人") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java index 8ee2d979ef..e9355a7556 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java @@ -24,6 +24,8 @@ public class LoanRedemptionApplyDto implements Dto { private String applyName; private String applyDate; private String orgPath; + private String customerSid; + private String borrowerSid; @ApiModelProperty("消贷合同号") private String loanContractNo; @ApiModelProperty("资方") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java index 5d62dbd693..a6304abf99 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java @@ -68,6 +68,8 @@ public class LoanRedemptionApplyInit implements Vo { private String beOverdueMoneyAndPeriod; // 逾期金额换算期数 private String busVinSid; //催收记录 private String rksqSid; //入库申请sid + private String customerSid; + private String borrowerSid; private List files = new ArrayList<>(); private List vinList = new ArrayList<>(); diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionInitVo.java index 72c5408b56..d47dbc3304 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionInitVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionInitVo.java @@ -29,4 +29,6 @@ public class RedemptionInitVo { private String vehMark; private String vehType; private String vehModel; + private String customerSid; + private String borrowerSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java new file mode 100644 index 0000000000..edcc29aeec --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java @@ -0,0 +1,14 @@ +package com.yxt.anrui.riskcenter.api.loanrepaymentschedule; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/19 15:18 + */ +@Data +public class OtherPolicyVo { + private String otherBankName; + private String otherPolicyName; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java new file mode 100644 index 0000000000..7450a78a38 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java @@ -0,0 +1,34 @@ +package com.yxt.anrui.riskcenter.api.loansubletapply; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/1/19 10:46 + */ +@Data +public class CustomerListVo { + + @ApiModelProperty("名称") + private String vinOwner; + @ApiModelProperty("客户类型key") + private String customerTypeKey; + @ApiModelProperty("客户类型") + private String customerType; + @ApiModelProperty("联系电话") + private String phoneNum; + @ApiModelProperty("证件地址") + private String cardAddress; + @ApiModelProperty("有效期") + private String endDate; + @ApiModelProperty("证件号码") + private String idNumber; + @ApiModelProperty("证件类型key") + private String certificateTypeKey; + @ApiModelProperty("证件类型(个人为身份证/企业为营业执照)") + private String certificateType; + @ApiModelProperty("新车主客户sid") + private String newCustomerSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java index 63ad58ad12..a958575001 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java @@ -82,5 +82,7 @@ public class LoanSubletApply extends BaseEntity { private String certificateType; @ApiModelProperty("新车主客户sid") private String newCustomerSid; + private String customerSid; + private String borrowerSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java index 7fff49426b..df5a33e3bc 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java @@ -23,6 +23,8 @@ public class LoanSubletApplyDto implements Dto { private String applyName; private String applyDate; private String orgPath; + private String customerSid; + private String borrowerSid; @ApiModelProperty("消贷合同号") private String loanContractNo; @ApiModelProperty("资方") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java index f92615de37..77f5e15e83 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java @@ -38,6 +38,12 @@ public interface LoanSubletApplyFeign { @PostMapping("/getVinList") public ResultBean> getVinList(@RequestBody PagerQuery pq); + @ApiOperation("获取客户列表") + @GetMapping("/pickCustomer") + @ResponseBody + public ResultBean> pickCustomer(@RequestParam("orgPath") String orgPath); + + @ApiOperation("新增初始化") @GetMapping("/subletInit") @ResponseBody diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java index 799d5b9bae..4d2d1eb0ed 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java @@ -25,6 +25,11 @@ public class LoanSubletApplyFeignFallback implements LoanSubletApplyFeign { return null; } + @Override + public ResultBean> pickCustomer(String orgPath) { + return null; + } + @Override public ResultBean subletInit(String ledgerSid) { return null; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java index 4e4f558fae..95a101cf6e 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java @@ -23,6 +23,8 @@ public class LoanSubletApplyInit implements Vo { private String applyName; private String applyDate; private String orgPath; + private String customerSid; + private String borrowerSid; @ApiModelProperty("任务id") private String taskId; @ApiModelProperty("实例id") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java index 8d042f31cb..2ad0a134e8 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java @@ -28,4 +28,6 @@ public class SubletInitVo { private String vehType; private String vehModel; private String pSid; + private String customerSid; + private String borrowerSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java new file mode 100644 index 0000000000..29d9308153 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java @@ -0,0 +1,43 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundapply; + +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.loanoutboundapply.LoanOutboundApply; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionInitVo; +import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList; +import com.yxt.anrui.riskcenter.api.loansubletapply.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.Map; + + +@Mapper +public interface LoanOutboundApplyMapper extends BaseMapper { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + IPage getVinList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + RedemptionInitVo redemptionInit(@Param("ledgerSid") String ledgerSid); + + RedemptionVinList selTrailerByLedgerSid(@Param("ledgerSid") String ledgerSid); + + int updateFlowFiled(Map map); + + SubletInitVo selReturnLegerBySid(@Param("ledgerSid") String ledgerSid); + + SubletInitVo selLoanInfoByMainVeh(@Param("busVinSid") String busVinSid); + + SubletVinList selReturnVinLegerBySid(@Param("ledgerSid") String ledgerSid); + + SubletVinList selReturnTrVinLegerByPSid(@Param("ledgerSid")String ledgerSid); + + SubletInitVo selLoanInfoByTrVeh(@Param("ledgerSid")String ledgerSid); + + SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid")String ledgerSid); + + VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml new file mode 100644 index 0000000000..f4608b1a98 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml @@ -0,0 +1,187 @@ + + + + + UPDATE loan_out_bound_apply + SET nodeState=#{nodeState} + , nodeSid=#{taskDefKey} + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid = #{sid} + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java new file mode 100644 index 0000000000..f2edcc56b3 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java @@ -0,0 +1,107 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundapply; + +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.loanoutboundapply.*; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.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/loanoutboundapply") +public class LoanOutboundApplyRest implements LoanOutboundApplyFeign { + + @Autowired + private LoanOutboundApplyService loanOutboundApplyService; + + @Override + public ResultBean> listPage(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = loanOutboundApplyService.listPage(pq); + return rb.success().setData(pv); + } + + @Override + public ResultBean saveOutbound(LoanOutboundApplyDto dto) { + return loanOutboundApplyService.saveOutbound(dto); + } + + @Override + public ResultBean updateOutbound(LoanUpdateApplyDto dto) { + return loanOutboundApplyService.updateOutbound(dto); + } + + @Override + public ResultBean outboundDetails(String sid) { + return loanOutboundApplyService.outboundDetails(sid); + } + + @Override + public ResultBean submitRecordApplication(SubmitOutboundDto dto) { + return loanOutboundApplyService.submitRecordApplication(dto); + } + + @Override + public ResultBean complete(OutboundCompleteDto dto) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(dto, bv); + bv.setModelId(ProcDefEnum.LOANOUTBOUNDVEHAPPLY.getProDefId()); + return loanOutboundApplyService.complete(bv); + } + + @Override + public ResultBean revokeProcess(OutboundTaskQuery query) { + return loanOutboundApplyService.revokeProcess(query); + } + + @Override + public ResultBean taskReject(OutboundTaskQuery query) { + return loanOutboundApplyService.taskReject(query); + } + + @Override + public ResultBean breakProcess(OutboundTaskQuery query) { + return loanOutboundApplyService.breakProcess(query); + } + + @Override + public ResultBean flowRecord(String procInsId) { + return loanOutboundApplyService.flowRecord(procInsId); + } + + @Override + public ResultBean> getNextNodesForSubmit(OutboundGetNodeQuery query) { + return loanOutboundApplyService.getNextNodesForSubmit(query); + } + + @Override + public ResultBean> getPreviousNodesForReject(OutboundGetNodeQuery query) { + return loanOutboundApplyService.getPreviousNodesForReject(query); + } + + @Override + public ResultBean delegate(OutboundDelegateQuery query) { + return loanOutboundApplyService.delegate(query); + } + + @Override + public ResultBean appDetail(String sid) { + return loanOutboundApplyService.appDetail(sid); + } + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java new file mode 100644 index 0000000000..36d0c8b995 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java @@ -0,0 +1,969 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundapply; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DateTime; +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; +import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign; +import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; +import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign; +import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; +import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; +import com.yxt.anrui.flowable.api.flow.FlowableFeign; +import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; +import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery; +import com.yxt.anrui.flowable.api.flow2.FlowFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign; +import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo; +import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo; +import com.yxt.anrui.flowable.api.utils.ProcDefEnum; +import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; +import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg; +import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; +import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; +import com.yxt.anrui.portal.api.sysuser.SysUserFeign; +import com.yxt.anrui.portal.api.sysuser.SysUserVo; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.*; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo; +import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*; +import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh; +import com.yxt.anrui.riskcenter.api.loansubletapply.*; +import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo; +import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletVinListVo; +import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*; +import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh; +import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; +import com.yxt.anrui.riskcenter.biz.loanoutboundveh.LoanOutboundVehService; +import com.yxt.anrui.riskcenter.biz.loanredemptionapply.LoanRedemptionApplyService; +import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; +import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.core.query.PagerQuery; +import com.yxt.common.core.result.ResultBean; +import com.yxt.common.core.vo.PagerVo; +import com.yxt.messagecenter.api.message.MessageFeign; +import com.yxt.messagecenter.api.message.MessageFlowVo; +import com.yxt.messagecenter.api.message.MessageFlowableQuery; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.text.SimpleDateFormat; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +/** + * @description: + * @author: fzz + * @date: 2023/7/6 + **/ +@Service +public class LoanOutboundApplyService extends MybatisBaseService { + + @Autowired + private MessageFeign messageFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private LoanRepaymentHistoryService loanRepaymentHistoryService; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private LoanBuckleApplyRecordService loanBuckleApplyRecordService; + @Autowired + private LoanFileService loanFileService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private FlowFeign flowFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService; + @Autowired + private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; + @Autowired + private FinKingDeeFeign finKingDeeFeign; + @Autowired + private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign; + @Autowired + private BusSalesOrderFeign busSalesOrderFeign; + @Autowired + private BasePurchaseSystemFeign basePurchaseSystemFeign; + @Autowired + private LoanRedemptionApplyService loanRedemptionApplyService; + @Autowired + private LoanSubletVehService loanSubletVehService; + @Autowired + private LoanOutboundVehService loanOutboundVehService; + + public PagerVo listPage(PagerQuery pq) { + return null; +// IPage page = PagerUtil.queryToPage(pq); +// LoanSubletApplyQuery pagerQuery = pq.getParams(); +// QueryWrapper qw = new QueryWrapper<>(); +// //======================= +// PrivilegeQuery privilegeQuery = new PrivilegeQuery(); +// privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); +// privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); +// privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); +// privilegeQuery.setUserSid(pagerQuery.getUserSid()); +// ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); +// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { +// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) +// String orgSidPath = pagerQuery.getOrgPath(); +// orgSidPath = orgSidPath + "/"; +// int i1 = orgSidPath.indexOf("/"); +// int i2 = orgSidPath.indexOf("/", i1 + 1); +// int i3 = orgSidPath.indexOf("/", i2 + 1); +// int i4 = orgSidPath.indexOf("/", i3 + 1); +// String orgLevelKey = defaultIdReltBean.getData(); +// if ("1".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i1); +// qw.like("a.orgSidPath", orgSidPath); +// } else if ("2".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i2); +// qw.like("a.orgSidPath", orgSidPath); +// } else if ("3".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i3); +// qw.like("a.orgSidPath", orgSidPath); +// } else if ("4".equals(orgLevelKey)) { +// orgSidPath = orgSidPath.substring(0, i4); +// qw.like("a.orgSidPath", orgSidPath); +// } else if ("5".equals(orgLevelKey)) { +// qw.eq("a.createBySid", pagerQuery.getUserSid()); +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// } else { +// PagerVo p = new PagerVo<>(); +// return p; +// } +// //======================= +// //分公司 +// if (StringUtils.isNotBlank(pagerQuery.getCompany())) { +// qw.like("a.company", pagerQuery.getCompany()); +// } +// //申请人 +// if (StringUtils.isNotBlank(pagerQuery.getApplyName())) { +// qw.like("a.applyName", pagerQuery.getApplyName()); +// } +// //申请部门 +// if (StringUtils.isNotBlank(pagerQuery.getDept())) { +// qw.like("a.dept", pagerQuery.getDept()); +// } +// //消贷合同号 +// if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) { +// qw.like("a.loanContractNo", pagerQuery.getLoanContractNo()); +// } +// //资方 +// if (StringUtils.isNotBlank(pagerQuery.getBankName())) { +// qw.like("a.bankName", pagerQuery.getBankName()); +// } +// //资方合同号 +// if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) { +// qw.like("a.bankContractNo", pagerQuery.getBankContractNo()); +// } +// //客户名称 +// if (StringUtils.isNotBlank(pagerQuery.getCustomer())) { +// qw.like("a.customer", pagerQuery.getCustomer()); +// } +// //贷款人 +// if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) { +// qw.like("a.borrowerName", pagerQuery.getBorrowerName()); +// } +// //车架号 +// if (StringUtils.isNotBlank(pagerQuery.getVinNo())) { +// qw.like("a.vinNo", pagerQuery.getVinNo()); +// } +// //车牌号 +// if (StringUtils.isNotBlank(pagerQuery.getVehMark())) { +// qw.like("a.vehMark", pagerQuery.getVehMark()); +// } +// //车架号 +// if (StringUtils.isNotBlank(pagerQuery.getAgree())) { +// qw.like("a.agree", pagerQuery.getAgree()); +// } +// String applyStartTime = pagerQuery.getApplyStartDate(); +// String applyEndTime = pagerQuery.getApplyEndDate(); +// qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (a.applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). +// apply(StringUtils.isNotEmpty(applyEndTime), "date_format (a.applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" +// ); +// String closingStartDate = pagerQuery.getClosingStartDate(); +// String closingEndDate = pagerQuery.getClosingEndDate(); +// qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (a.closingDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')"). +// apply(StringUtils.isNotEmpty(closingEndDate), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')" +// ); +// qw.eq("a.isDelete", 0); +// qw.orderByDesc("a.applyDate"); +// qw.apply("(a.count > 1 AND a.vehType = '主车' ) OR (a.count = 1)"); +// IPage pagging = baseMapper.listPage(page, qw); +// PagerVo p = PagerUtil.pageToVo(pagging, null); +// return p; + } + + + @Transactional(rollbackFor = Exception.class) + public ResultBean saveOutbound(LoanOutboundApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + LoanOutboundApply entity = new LoanOutboundApply(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + List vinList = dto.getVinList(); + if (!vinList.isEmpty()) { + vinList.stream().forEach(v -> { + LoanOutboundVeh loanOutboundVeh = new LoanOutboundVeh(); + BeanUtil.copyProperties(v, loanOutboundVeh, "id", "sid"); + loanOutboundVeh.setMainSid(entity.getSid()); + loanOutboundVehService.insert(loanOutboundVeh); + }); + } + return rb.success().setData(entity.getSid()); + } + + @Transactional(rollbackFor = Exception.class) + public ResultBean updateOutbound(LoanUpdateApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = ""; +// if (StringUtils.isNotBlank(dto.getSid())) { +// sid = dto.getSid(); +// LoanSubletApply updateEntity = fetchBySid(sid); +// if (null != updateEntity) { +// BeanUtil.copyProperties(dto, updateEntity, "id", "sid"); +// baseMapper.updateById(updateEntity); +// loanSubletVehService.deleteByMainSid(sid); +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanSubletApplyFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.SUBLETAPPLY.getAttachType()); +// } +// List vinList = dto.getVinList(); +// if (!vinList.isEmpty()) { +// for (SubletVinList record : vinList) { +// LoanSubletVeh subletVeh = new LoanSubletVeh(); +// BeanUtil.copyProperties(record, subletVeh, "id", "sid"); +// subletVeh.setMainSid(sid); +// loanSubletVehService.insert(subletVeh); +// } +// } +// } +// } else { +// LoanSubletApply apply = new LoanSubletApply(); +// sid = apply.getSid(); +// BeanUtil.copyProperties(dto, apply, "id", "sid"); +// apply.setCreateBySid(dto.getUserSid()); +// apply.setOrgSidPath(dto.getOrgPath()); +// ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath()); +// if (orgSidByPath.getSuccess()) { +// String userOrgSid = orgSidByPath.getData(); +// apply.setUseOrgSid(userOrgSid); +// ResultBean organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid); +// if (organizationVo.getSuccess()) { +// SysOrganizationVo organizationVoData = organizationVo.getData(); +// if (null != organizationVoData) { +// apply.setUseOrgName(organizationVoData.getName()); +// } +// } +// } +// apply.setNodeState("待提交"); +// baseMapper.insert(apply); +// List vinList = dto.getVinList(); +// if (!vinList.isEmpty()) { +// for (SubletVinList record : vinList) { +// LoanSubletVeh subletVeh = new LoanSubletVeh(); +// BeanUtil.copyProperties(record, subletVeh, "id", "sid"); +// subletVeh.setMainSid(sid); +// loanSubletVehService.insert(subletVeh); +// } +// } +// //删除附件表中关于该linkSid的文件 +// loanFileService.deleteByLinkSid(sid); +// List filess = dto.getFiles(); +// if (!filess.isEmpty()) { +// List files = new ArrayList<>(); +// for (LoanSubletApplyFile file : filess) { +// files.add(file.getUrl()); +// } +// loanFileService.saveAll(sid, files, LoanFileEnum.SUBLETAPPLY.getAttachType()); +// } +// } + return rb.success().setData(sid); + } + + public ResultBean outboundDetails(String sid) { + ResultBean rb = ResultBean.fireFail(); + LoanOutboundApplyInit vo = new LoanOutboundApplyInit(); +// LoanSubletApply entity = fetchBySid(sid); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (null != entity) { +// BeanUtil.copyProperties(entity, vo); +// if (null != entity.getApplyDate()) { +// vo.setApplyDate(sdf.format(entity.getApplyDate())); +// } +// if (StringUtils.isNotBlank(entity.getProcInstId())) { +// vo.setInstanceId(entity.getProcInstId()); +// } +// if (StringUtils.isNotBlank(entity.getCreateBySid())) { +// vo.setUserSid(entity.getCreateBySid()); +// } +// if (StringUtils.isNotBlank(entity.getOrgSidPath())) { +// vo.setOrgPath(entity.getOrgSidPath()); +// } +// List vinLists = loanSubletVehService.selByMainSid(sid); +// if (!vinLists.isEmpty()) { +// vo.setVinList(vinLists); +// } +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.SUBLETAPPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// List applyFiles = new ArrayList<>(); +// for (String file : files) { +// LoanSubletApplyFile applyFile = new LoanSubletApplyFile(); +// applyFile.setUrl(file); +// applyFiles.add(applyFile); +// } +// vo.setFiles(applyFiles); +// } +// } + return rb.success().setData(vo); + } + + + //-------------------------------------流程------------------------------------------------/ + + /** + * 判断提交的流程是否被允许 + * + * @param dto + * @return + */ + private synchronized int submitBusinessData(SubmitOutboundDto dto, LoanOutboundApply loanOutboundApply) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (loanOutboundApply != null) { + String businessTaskId = loanOutboundApply.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + } + return r; + } + + /** + * 更新流程相关的状态 + * + * @param map + * @return + */ + private int updateFlowFiled(Map map) { + return baseMapper.updateFlowFiled(map); + } + + public ResultBean submitRecordApplication(SubmitOutboundDto dto) { + ResultBean rb = ResultBean.fireFail(); +// LoanSubletApply loanSubletApply = fetchBySid(dto.getSid()); +// int r = submitBusinessData(dto, loanSubletApply); +// if (r == 3) { +// return rb.setMsg("该申请不存在"); +// } +// if (r == 0) { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } +// List dtoVinList = dto.getVinList(); +// if (!dtoVinList.isEmpty()) { +// for (SubletVinList v : dtoVinList) { +// VehDisposal vehDisposal = baseMapper.selVehDisposal(v.getLedgerSid()); +// if (null != vehDisposal) { +// if (!vehDisposal.getDisposal().equals("未处置")) { +// return rb.setMsg("当前所选车辆不是未处置状态,无法提交!"); +// } +// } +// } +// } +// String businessSid = ""; +// //新增修改保存 +// ResultBean resultBean = saveSublet(dto); +// if (resultBean.getSuccess()) { +// businessSid = resultBean.getData(); +// } else { +// return rb.setMsg(resultBean.getMsg()); +// } +// //提交之后修改车辆台账 +// List vinLists1 = loanSubletVehService.selByMainSid(businessSid); +// if (!vinLists1.isEmpty()) { +// vinLists1.stream().forEach(v -> { +// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "04", "二次转租"); +// }); +// } +// LoanSubletApply entity = fetchBySid(businessSid); +// String orgSidPath = ""; +// if (StringUtils.isNotBlank(entity.getOrgSidPath())) { +// orgSidPath = entity.getOrgSidPath(); +// } else { +// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData(); +// if (null != data) { +// //根据staffSid获取用户的组织全路径 +// ResultBean staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid()); +// if (!staffOrgResultBean.getSuccess()) { +// return rb.setMsg(staffOrgResultBean.getMsg()); +// } +// //用户的组织全路径 +// orgSidPath = staffOrgResultBean.getData().getOrgSidPath(); +// } +// } +// List orgPathList = Arrays.asList(orgSidPath.split("/")); +// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData(); +// if (sysOrganization == null) { +// return rb.setMsg("当前所在的组织机构不存在"); +// } +// if (StringUtils.isBlank(sysOrganization.getManagerSid())) { +//// return rb.setMsg("当前所在的组织机构未设置主管人员"); +// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +// } +// //创建BusinessVariables实体对象 +// BusinessVariables bv = new BusinessVariables(); +// //流程中的参数赋值 +// Map variables = BeanUtil.beanToMap(dto); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(entity.getSalesUserSid())) { +//// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +//// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案"; +//// variables.put("orderNames", orderNames); +// LoanSubletApply loanSubletApply1 = fetchBySid(businessSid); +// String msgBusinessSid = loanSubletApply1.getSid(); +// //用户的部门全路径sid +// bv.setOrgSidPath(loanSubletApply1.getOrgSidPath()); +// //业务sid +// bv.setBusinessSid(businessSid); +// //用户sid +// bv.setUserSid(dto.getUserSid()); +// bv.setFormVariables(variables); +// String nextNodeUserSids_ = sysOrganization.getManagerSid(); +// bv.setNextNodeUserSids(nextNodeUserSids_); +//// if (isTure) { +//// bv.setNextNodeUserSids(nextNodeUserSids_); +//// } else { +//// bv.setNextNodeUserSids(entity.getSalesUserSid()); +//// } +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANSUBLETAPPLY.getProDefId()); +// if (r == 1) { +// //流程定义id +// bv.setModelId(ProcDefEnum.LOANSUBLETAPPLY.getProDefId()); +// ResultBean voResultBean = flowFeign.startProcess(bv); +// if (!voResultBean.getSuccess()) { +// return rb.setMsg(voResultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = voResultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo)); +// //==================================添加线程 +// try { +// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() +// .setNameFormat("demo-pool-%d").build(); +// ExecutorService pool = new ThreadPoolExecutor(2, 100, +// 0L, TimeUnit.MILLISECONDS, +// new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); +// Future future1 = pool.submit(() -> { +// //极光推送 +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(msgBusinessSid); +// messageFlowableQuery.setModuleName("交回车辆二次转租申请"); +// SysUserVo userVo = sysUserFeign.fetchBySid(loanSubletApply1.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// }); +// } catch (Exception e) { +// e.printStackTrace(); +// } +// //==================================添加线程 +// return voResultBean; +// } +// if (r == 2) { +// // ToDo:驳回到发起人后再次提交 +// if (StringUtils.isBlank(dto.getInstanceId())) { +// return rb.setMsg("参数错误:instanceId"); +// } +// LoanSubletApply loanSubletApply2 = fetchBySid(dto.getSid()); +// bv.setTaskId(dto.getTaskId()); +// bv.setTaskDefKey(loanSubletApply2.getNodeSid()); +// bv.setComment("重新提交"); +// bv.setInstanceId(dto.getInstanceId()); +// return complete(bv); +// } + return rb; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + return null; +// String businessSid = bv.getBusinessSid(); +// LoanSubletApply loanSubletApply = this.fetchBySid(businessSid); +// if (bv.getTaskId().equals(loanSubletApply.getTaskId())) { +// bv.setOrgSidPath(loanSubletApply.getOrgSidPath()); +// //流程中的参数赋值 +// Map variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +//// if (bv.getTaskDefKey().equals("Activity_1078xxs")) { +//// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) { +//// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid()); +//// } else { +//// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId()); +//// } +//// } +// variables.put("businessSid", businessSid); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// bv.setFormVariables(variables); +// ResultBean resultBean = flowFeign.handleProsess(bv); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = resultBean.getData(); +// int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { +// LoanSubletApply subletApply = fetchBySid(businessSid); +// subletApply.setClosingDate(new DateTime()); +// baseMapper.updateById(subletApply); +// //todo 修改交车车辆台账状态 +// } else { +// //极光推送 +// loanSubletApply = fetchBySid(businessSid); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// messageFlowVo.setProcDefId(loanSubletApply.getProcDefId()); +// messageFlowVo.setProcInsId(loanSubletApply.getProcInstId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(businessSid); +// messageFlowableQuery.setModuleName("交回车辆二次转租申请"); +// messageFlowableQuery.setMsgContent(loanSubletApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// return rb.setMsg("操作失败!提交的数据不一致"); +// } + } + + /** + * 撤回 + * + * @param query + * @return + */ + public ResultBean revokeProcess(OutboundTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanSubletApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); +// loanSubletApply = fetchBySid(query.getBusinessSid()); +// String procId = loanSubletApply.getProcInstId(); +// ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); +// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); +// String nextName = listResultBean.getData().get(0).getName_(); +// List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +// if ("发起申请".equals(nextName)) { +// //退回车辆处置状态 +// List vinLists1 = loanSubletVehService.selByMainSid(query.getBusinessSid()); +// if (!vinLists1.isEmpty()) { +// vinLists1.stream().forEach(v -> { +// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置"); +// }); +// } +// } +// return rb.success().setData(resultBean.getData()); +// } +// } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean taskReject(OutboundTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); +// String businessSid = query.getBusinessSid(); +// LoanSubletApply loanSubletApply = fetchBySid(businessSid); +// if (loanSubletApply == null) { +// return rb.setMsg("该申请不存在"); +// } +// String businessTaskId = loanSubletApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (businessTaskId.equals(query.getTaskId())) { +// if (StringUtils.isBlank(query.getComment())) { +// return rb.setMsg("请填写意见"); +// } +// if (StringUtils.isBlank(query.getUserSid())) { +// return rb.setMsg("参数错误:userSid"); +// } +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// Map variables = new HashMap<>(); +// Map appMap = new HashMap<>(); +// appMap.put("sid", businessSid); +// variables.put("app", appMap); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// flowTaskVo.setValues(variables); +// ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// UpdateFlowFieldVo ufVo = resultBean.getData(); +// Map map = BeanUtil.beanToMap(ufVo); +// //更新业务中的流程相关的参数 +// updateFlowFiled(map); +// //极光推送 +// loanSubletApply = fetchBySid(businessSid); +// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); +// MessageFlowVo messageFlowVo = new MessageFlowVo(); +// BeanUtil.copyProperties(ufVo, messageFlowVo); +// String procId = loanSubletApply.getProcInstId(); +// messageFlowVo.setProcInsId(procId); +// messageFlowVo.setProcDefId(loanSubletApply.getProcDefId()); +// messageFlowableQuery.setUfVo(messageFlowVo); +// messageFlowableQuery.setAppMap(appMap); +// messageFlowableQuery.setBusinessSid(businessSid); +// messageFlowableQuery.setModuleName("交回车辆二次转租申请"); +// ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); +// String nextName = listResultBean.getData().get(0).getName_(); +// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); +// List receiveSidList = Arrays.asList(nextNodeUserSids.split(",")); +//// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) { +// if ("发起申请".equals(nextName)) { +// messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); +// //退回车辆处置状态 +// List vinLists1 = loanSubletVehService.selByMainSid(businessSid); +// if (!vinLists1.isEmpty()) { +// vinLists1.stream().forEach(v -> { +// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置"); +// }); +// } +// } else { +// SysUserVo userVo = sysUserFeign.fetchBySid(loanSubletApply.getCreateBySid()).getData(); +// if (userVo != null) { +// if (StringUtils.isNotBlank(userVo.getName())) { +// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); +// } +// } +// } +// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请"); +// ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); +// return rb.success(); +// } +// } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean breakProcess(OutboundTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } +// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid()); +// String businessTaskId = loanSubletApply.getTaskId(); +// if (StringUtils.isNotBlank(businessTaskId)) { +// if (query.getUserSid().equals(loanSubletApply.getCreateBySid())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后操作 +// LoanSubletApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// // 修改交回车辆台账状态 +// List vinLists = loanSubletVehService.selByMainSid(query.getBusinessSid()); +// if (!vinLists.isEmpty()) { +// vinLists.stream().forEach(v -> { +// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置"); +// }); +// } +// +// } +// return rb.success().setData(resultBean.getData()); +// } else { +// if (businessTaskId.equals(query.getTaskId())) { +// FlowTaskVo flowTaskVo = new FlowTaskVo(); +// BeanUtil.copyProperties(query, flowTaskVo); +// ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); +// if (!resultBean.getSuccess()) { +// return rb.setMsg(resultBean.getMsg()); +// } +// Map map = BeanUtil.beanToMap(resultBean.getData()); +// updateFlowFiled(map); +// //终止任务后操作 +// LoanSubletApply entity = fetchBySid(query.getBusinessSid()); +// if (entity.getNodeState().equals("终止")) { +// // 修改交回车辆台账状态 +// List vinLists = loanSubletVehService.selByMainSid(query.getBusinessSid()); +// if (!vinLists.isEmpty()) { +// vinLists.stream().forEach(v -> { +// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置"); +// }); +// } +// } +// return rb.success().setData(resultBean.getData()); +// } +// } +// +// } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean flowRecord(String procInsId) { + return flowTaskFeign.businessFlowRecord(procInsId); + } + + public ResultBean> getNextNodesForSubmit(OutboundGetNodeQuery query) { +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// +// //根据业务sid查询排产信息 +// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid()); +// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanSubletApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OutboundGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); + return null; + } + + public ResultBean> getPreviousNodesForReject(OutboundGetNodeQuery query) { + return null; +// ResultBean> rb = ResultBean.fireFail(); +// BusinessVariables bv = new BusinessVariables(); +// BeanUtil.copyProperties(query, bv); +// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 +// Map variables = new HashMap<>(); +// //根据业务sid查询排产信息 +// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid()); +//// //若有网关,则赋值网关中判断的字段。 +//// boolean isTure = true; +//// //去查询是否同意 +//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) { +//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) { +//// isTure = false; +//// } +//// } +//// variables.put("isTure", isTure); +// bv.setFormVariables(variables); +// bv.setModelId(loanSubletApply.getProcDefId()); +// ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); +// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo +// List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SubletGetNodeVo.class)).collect(Collectors.toList()); +// return rb.success().setData(voList); + + } + + public ResultBean delegate(OutboundDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + + public ResultBean appDetail(String sid) { + ResultBean rb = ResultBean.fireFail(); + AppOutboundDetailsVo vo = new AppOutboundDetailsVo(); +// LoanSubletApply entity = fetchBySid(sid); +// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); +// if (null != entity) { +// vo.setSid(sid); +// String dept = ""; +// String applyName = ""; +// //---------------------------------------------------- +// if (StringUtils.isNotBlank(entity.getBorrowerName())) { +// vo.setBorrName(entity.getBorrowerName()); +// } +// if (StringUtils.isNotBlank(entity.getCustomer())) { +// vo.setCustName(entity.getCustomer()); +// } +// if (StringUtils.isNotBlank(entity.getVinOwner())) { +// vo.setVinOwner(entity.getVinOwner()); +// } +// if (StringUtils.isNotBlank(entity.getCustomerType())) { +// vo.setCustomerType(entity.getCustomerType()); +// } +// if (StringUtils.isNotBlank(entity.getPhoneNum())) { +// vo.setPhoneNum(entity.getPhoneNum()); +// } +// if (StringUtils.isNotBlank(entity.getCertificateType())) { +// vo.setCertificateType(entity.getCertificateType()); +// } +// if (StringUtils.isNotBlank(entity.getEndDate())) { +// vo.setEndDate(entity.getEndDate()); +// } +// if (null != entity.getAgree()) { +// vo.setAgree(entity.getAgree().toString()); +// } +// if (StringUtils.isNotBlank(entity.getIdNumber())) { +// vo.setIdNumber(entity.getIdNumber()); +// } +// if (StringUtils.isNotBlank(entity.getCardAddress())) { +// vo.setCardAddress(entity.getCardAddress()); +// } +// if (StringUtils.isNotBlank(entity.getBankName())) { +// vo.setBankName(entity.getBankName()); +// } +// if (StringUtils.isNotBlank(entity.getBankContractNo())) { +// vo.setBankContractNo(entity.getBankContractNo()); +// } +// if (StringUtils.isNotBlank(entity.getPlan())) { +// vo.setPlan(entity.getPlan()); +// } +// if (null != entity.getAmount()) { +// vo.setAmount(entity.getAmount().toString()); +// } +// //---------------------------------------------------- +// if (StringUtils.isNotBlank(entity.getProcInstId())) { +// vo.setProcInsId(entity.getProcInstId()); +// } +// if (StringUtils.isNotBlank(entity.getTaskId())) { +// vo.setTaskId(entity.getTaskId()); +// } +// if (null != entity.getApplyDate()) { +// vo.setTime(sdf.format(entity.getApplyDate())); +// } +// if (StringUtils.isNotBlank(entity.getDept())) { +// dept = entity.getDept(); +// } +// if (StringUtils.isNotBlank(entity.getApplyName())) { +// applyName = entity.getApplyName(); +// } +// vo.setPublishInfo(dept + "-" + applyName); +// List fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.SUBLETAPPLY.getAttachType()); +// fileList.removeAll(Collections.singleton(null)); +// if (!fileList.isEmpty()) { +// List files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()). +// collect(Collectors.toList()); +// vo.setFiles(files); +// } +// List vinList = new ArrayList<>(); +// List vinLists = loanSubletVehService.selByMainSid(sid); +// if (!vinLists.isEmpty()) { +// vinLists.stream().forEach(v -> { +// AppSubletVinListVo appVinListVo = new AppSubletVinListVo(); +// if (StringUtils.isNotBlank(v.getVinNo())) { +// appVinListVo.setVinNo(v.getVinNo()); +// } +// if (StringUtils.isNotBlank(v.getVehModel())) { +// appVinListVo.setModel(v.getVehModel()); +// } +// if (StringUtils.isNotBlank(v.getVehType())) { +// appVinListVo.setVehType(v.getVehType()); +// } +// if (StringUtils.isNotBlank(v.getVehMark())) { +// appVinListVo.setVehMark(v.getVehMark()); +// } +// vinList.add(appVinListVo); +// }); +// vo.setVinList(vinList); +// } +// } + return rb.success().setData(vo); + } + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java new file mode 100644 index 0000000000..3060f684ac --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java @@ -0,0 +1,19 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundveh; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh; +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 LoanOutboundVehMapper extends BaseMapper { + + int deleteByMainSid(@Param("mainSid") String mainSid); + + List selByMainSid(@Param("mainSid") String mainSid); +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml new file mode 100644 index 0000000000..f75843fecf --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml @@ -0,0 +1,22 @@ + + + + + + DELETE + FROM loan_sublet_veh + WHERE mainSid = #{mainSid} + + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java new file mode 100644 index 0000000000..ce14961040 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundveh; + +import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVehFeign; +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/loanoutboundveh") +public class LoanOutboundVehRest implements LoanOutboundVehFeign { + + +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java new file mode 100644 index 0000000000..2b7a8bb23a --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java @@ -0,0 +1,27 @@ +package com.yxt.anrui.riskcenter.biz.loanoutboundveh; + +import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh; +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 LoanOutboundVehService extends MybatisBaseService { + + public int deleteByMainSid(String mainSid) { + return baseMapper.deleteByMainSid(mainSid); + } + + + public List selByMainSid(String sid) { + return baseMapper.selByMainSid(sid); + } +} diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml index e0697bce67..6f75160694 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml @@ -79,7 +79,9 @@ v.busVinSid, l.bankContractNo, l.loanContractNo, - l.bankName + l.bankName, + v.customerSid, + v.borrowerSid FROM loan_return_veh_ledger as v LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b ON v.busVinSid = b.sid LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as l ON l.sid = b.loanContractSid diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java index 0f13f8b877..251003f9c6 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java @@ -34,4 +34,6 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper selHistoryBySid(@Param("sid") String sid); + + OtherPolicyVo selOtherPolicyByOrderSid(@Param("salesOrderSid") String salesOrderSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml index fd304239bb..b879aaf74a 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml @@ -64,4 +64,15 @@ FROM loan_repayment_history WHERE scheduleSid = #{sid} + + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java index 2a5aa379e6..0c7e4e9d5b 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java @@ -488,12 +488,20 @@ public class LoanRepaymentScheduleService extends MybatisBaseService { SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid")String ledgerSid); VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid); + + List pickCustomer(@Param("userOrgSid") String userOrgSid); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml index d7f47da01b..f640ca1fdf 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml @@ -115,7 +115,9 @@ borrowerName, busVinSid, vehType, - pSid + pSid, + customerSid, + borrowerSid FROM loan_return_veh_ledger WHERE sid = #{ledgerSid} @@ -184,4 +186,17 @@ FROM loan_return_veh_ledger WHERE sid = #{ledgerSid} + \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java index ba5df6444f..42a33e2b24 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java @@ -42,6 +42,11 @@ public class LoanSubletApplyRest implements LoanSubletApplyFeign { return rb.success().setData(pv); } + @Override + public ResultBean> pickCustomer(String orgPath) { + return loanSubletApplyService.pickCustomer(orgPath); + } + @Override public ResultBean subletInit(String ledgerSid) { return loanSubletApplyService.subletInit(ledgerSid); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java index ec1b4e54d2..f1e9b308de 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java @@ -219,6 +219,17 @@ public class LoanSubletApplyService extends MybatisBaseService> pickCustomer(String orgPath) { + ResultBean rb = ResultBean.fireFail(); + ResultBean orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath); + String userOrgSid = ""; + if (orgSidByPath.getSuccess()) { + userOrgSid = orgSidByPath.getData(); + } + List listVos = baseMapper.pickCustomer(userOrgSid); + return rb.success().setData(listVos); + } + public PagerVo getVinList(PagerQuery pq) { IPage page = PagerUtil.queryToPage(pq); SubletVinListQuery pagerQuery = pq.getParams(); @@ -261,6 +272,12 @@ public class LoanSubletApplyService extends MybatisBaseService