Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
eb693387a7
  1. 13
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/vin/VinListVo2.java
  2. 48
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusNoGuaranteeCreditReviewQuery.java
  3. 50
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusNoGuaranteeCreditReviewVo.java
  4. 9
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusSalesOrderBorrowerFeign.java
  5. 10
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusSalesOrderBorrowerFeignFallback.java
  6. 47
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  7. 30
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerMapper.java
  8. 67
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerMapper.xml
  9. 12
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerRest.java
  10. 120
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerService.java
  11. 2
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java
  12. 1
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java
  13. 6
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml
  14. 4
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java
  15. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  16. 11
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java
  17. 29
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java
  18. 4
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java
  19. 12
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml
  20. 6
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java
  21. 8
      anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java
  22. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  23. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java
  24. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java
  25. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java
  26. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java
  27. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitfileexamine/LoanHomevisitFileexamineQuery.java
  28. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitfileexamine/LoanHomevisitFileexamineVo.java
  29. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanAttachTypeEnum.java
  30. 36
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReview.java
  31. 44
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewDetailsVo.java
  32. 46
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewDto.java
  33. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewFallback.java
  34. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewFeign.java
  35. 29
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewQuery.java
  36. 23
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewVo.java
  37. 36
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanDetailsVo.java
  38. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanListDetailsVo.java
  39. 23
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanQuery.java
  40. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanVo.java
  41. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java
  42. 22
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java
  43. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java
  44. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineService.java
  45. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java
  46. 93
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java
  47. 1
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitfileexamine/LoanHomevisitFileexamineMapper.xml
  48. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitfileexamine/LoanHomevisitFileexamineService.java
  49. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewMapper.java
  50. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewMapper.xml
  51. 38
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewRest.java
  52. 152
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewService.java
  53. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java
  54. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml
  55. 15
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java
  56. 237
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  57. 15
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vininput/BusVinNoVo2.java
  58. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/base/common/CarModelVo.java
  59. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanDetailsVo.java
  60. 37
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanFeign.java
  61. 27
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanFeignFallback.java
  62. 22
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanListDetailsVo.java
  63. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanQuery.java
  64. 34
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanVo.java
  65. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java
  66. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/base/common/CommonService.java
  67. 7
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java
  68. 39
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repaymentplan/RepaymentPlanRest.java
  69. 57
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repaymentplan/RepaymentPlanService.java

13
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/vin/VinListVo2.java

@ -1,5 +1,6 @@
package com.yxt.anrui.buscenter.api.bussalesorder.app.vin;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -13,8 +14,12 @@ import java.util.List;
@Data
public class VinListVo2 {
@ApiModelProperty("贷款人")
private String borrowName;
private String borrowSid;
private List<VinListVo> vinList;
@ApiModelProperty("是否已出库")
private Boolean state;
private String linkNo;
private String linkSid;
@ApiModelProperty("车架号是0,标题是1,全款时全是0,贷款时,有贷款人的是1,其他分组人也是1")
private int viewType;
@ApiModelProperty("当上面字段为0时,该值为空字符串,为1时,贷款人:xxx,/未选择贷款人")
private String groupName;
}

48
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusNoGuaranteeCreditReviewQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.buscenter.api.bussalesorderborrower;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 9:09
*/
@Data
public class BusNoGuaranteeCreditReviewQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("分公司")
private String company;
@ApiModelProperty("销售部门")
private String department;
@ApiModelProperty("销售专员")
private String salesman;
@ApiModelProperty("订单开始日期")
private String startTime;
@ApiModelProperty("订单结束日期")
private String endTime;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("消贷合同编号")
private String contractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("家访考察结果")
private String homeVisit;
@ApiModelProperty("信审终审结果")
private String creditReview;
@ApiModelProperty("放款审核结果")
private String loanReview;
@ApiModelProperty("是否放款")
private String isLoan;
}

50
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusNoGuaranteeCreditReviewVo.java

@ -0,0 +1,50 @@
package com.yxt.anrui.buscenter.api.bussalesorderborrower;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 9:09
*/
@Data
public class BusNoGuaranteeCreditReviewVo implements Vo {
@ApiModelProperty("订单日期")
private String orderDate;
@ApiModelProperty("分公司")
private String company;
@ApiModelProperty("销售部门")
private String department;
@ApiModelProperty("销售专员")
private String salesman;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("消贷合同编号")
private String contractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("手机号码")
private String mobile;
@ApiModelProperty("家访考察结果")
private String homeVisit;
@ApiModelProperty("家访考察日期")
private String homeVisitDate;
@ApiModelProperty("信审终审结果")
private String creditReview;
@ApiModelProperty("信审终审日期")
private String creditReviewDate;
@ApiModelProperty("放款审核结果")
private String loanReview;
@ApiModelProperty("放款审核日期")
private String loanReviewDate;
@ApiModelProperty("是否放款")
private String isLoan;
@ApiModelProperty("放款日期")
private String isLoanDate;
}

9
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusSalesOrderBorrowerFeign.java

@ -91,5 +91,14 @@ public interface BusSalesOrderBorrowerFeign {
@ResponseBody
ResultBean confirmBorrow(@RequestBody OrderBorrowQuery query);
@ApiOperation("公司非担保业务进度维护")
@PostMapping("/noGuaranteeCreditReviewPage")
@ResponseBody
public ResultBean<PagerVo<BusNoGuaranteeCreditReviewVo>> noGuaranteeCreditReviewPage(@RequestBody PagerQuery<BusNoGuaranteeCreditReviewQuery> pq);
@ApiOperation("根据销售订单SID获取一条记录")
@GetMapping("/fetchDetailsByOrderSid/{orderSid}")
@ResponseBody
public ResultBean<BusSalesOrderBorrowerDetailsVo> fetchDetailsByOrderSid(@PathVariable("orderSid") String orderSid);
}

10
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorderborrower/BusSalesOrderBorrowerFeignFallback.java

@ -84,4 +84,14 @@ public class BusSalesOrderBorrowerFeignFallback implements BusSalesOrderBorrower
public ResultBean confirmBorrow(OrderBorrowQuery query) {
return null;
}
@Override
public ResultBean<PagerVo<BusNoGuaranteeCreditReviewVo>> noGuaranteeCreditReviewPage(PagerQuery<BusNoGuaranteeCreditReviewQuery> pq) {
return null;
}
@Override
public ResultBean<BusSalesOrderBorrowerDetailsVo> fetchDetailsByOrderSid(String orderSid) {
return null;
}
}

47
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -7272,6 +7272,15 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
public ResultBean<VinVo2> saleOrderInputVin2(String saleOrderSid) {
ResultBean<VinVo2> rb = ResultBean.fireFail();
BusSalesOrder busSalesOrder = fetchBySid(saleOrderSid);
int type = 0;
if (busSalesOrder != null) {
if ("1".equals(busSalesOrder.getPayTypeKey())) {
type = 1;//全款
} else {
type = 2;//贷款
}
}
VinVo2 vinVo = new VinVo2();
List<BusSalesOrderVehicle> busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrdersSid(saleOrderSid);
busSalesOrderVehicleList.removeAll(Collections.singleton(null));
@ -7281,21 +7290,35 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
VinListVo2 vinListVo2 = new VinListVo2();
String borrowSid = borrowSidList.get(j);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleList.get(j);
String borrowName = busSalesOrderVehicle.getBorrowName();
vinListVo2.setBorrowName(borrowName);
vinListVo2.setBorrowSid(borrowSid);
busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSid2(saleOrderSid, borrowSid);
if (type == 1) {
vinListVo2.setViewType(0);
} else if (type == 2) {
vinListVo2.setViewType(1);
String borrowName = busSalesOrderVehicle.getBorrowName();
if (StringUtils.isNotBlank(borrowSid)) {
vinListVo2.setGroupName("贷款人:" + borrowName);
} else {
vinListVo2.setGroupName("贷款人:不确定贷款人");
}
}
vinList.add(vinListVo2);
if(StringUtils.isNotBlank(borrowSid)){
busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSid2(saleOrderSid, borrowSid);
}else{
busSalesOrderVehicleList = busSalesOrderVehicleService.selectListByOrderSid3(saleOrderSid);
}
busSalesOrderVehicleList.removeAll(Collections.singleton(null));
if (!busSalesOrderVehicleList.isEmpty()) {
List<VinListVo> vinList2 = new ArrayList<>();
for (int i = 0; i < busSalesOrderVehicleList.size(); i++) {
vinListVo2 = new VinListVo2();
vinListVo2.setViewType(0);
busSalesOrderVehicle = busSalesOrderVehicleList.get(i);
VinListVo vinListVo = new VinListVo();
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
vinListVo.setLinkNo(busSalesOrderVehicle.getLinkNo());
vinListVo2.setLinkNo(busSalesOrderVehicle.getLinkNo());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
vinListVo.setLinkSid(busSalesOrderVehicle.getLinkSid());
vinListVo2.setLinkSid(busSalesOrderVehicle.getLinkSid());
}
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkSid())) {
//根据车架号查询是否已出库
@ -7304,18 +7327,16 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
BaseVehicleSelectVo vo = baseVehicleResultBean.getData();
if (vo != null) {
if (VehicleState.StockEnum.OUT_STOCK.getCode().equals(vo.getVehicleState())) {
vinListVo.setState(true);
vinListVo2.setState(true);
} else {
vinListVo.setState(false);
vinListVo2.setState(false);
}
}
}
}
vinList2.add(vinListVo);
vinList.add(vinListVo2);
}
vinListVo2.setVinList(vinList2);
}
vinList.add(vinListVo2);
}
vinVo.setSaleOrderSid(saleOrderSid);
vinVo.setVinList(vinList);

30
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerMapper.java

@ -26,9 +26,11 @@
package com.yxt.anrui.buscenter.biz.bussalesorderborrower;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusNoGuaranteeCreditReviewVo;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
@ -57,23 +59,27 @@ import java.util.List;
@Mapper
public interface BusSalesOrderBorrowerMapper extends BaseMapper<BusSalesOrderBorrower> {
//@Update("update bus_sales_order_borrower set name=#{msg} where id=#{id}")
//IPage<BusSalesOrderBorrowerVo> voPage(IPage<BusSalesOrderBorrower> page, @Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderBorrower> qw);
IPage<BusSalesOrderBorrowerVo> selectPageVo(IPage<BusSalesOrderBorrower> page, @Param(Constants.WRAPPER) Wrapper<BusSalesOrderBorrower> qw);
List<BusSalesOrderBorrowerVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BusSalesOrderBorrower> qw);
@Select("select * from bus_sales_order_borrower")
List<BusSalesOrderBorrowerVo> selectListVo();
//@Update("update bus_sales_order_borrower set name=#{msg} where id=#{id}")
//IPage<BusSalesOrderBorrowerVo> voPage(IPage<BusSalesOrderBorrower> page, @Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderBorrower> qw);
@Update("update bus_sales_order_borrower set busNo = #{busNo} where sid = #{saleOrderBorrowerSid}")
void updateBusNo(@Param("busNo") String busNo,@Param("saleOrderBorrowerSid") String saleOrderBorrowerSid);
IPage<BusSalesOrderBorrowerVo> selectPageVo(IPage<BusSalesOrderBorrower> page, @Param(Constants.WRAPPER) Wrapper<BusSalesOrderBorrower> qw);
List<BusSalesOrderBorrowerVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<BusSalesOrderBorrower> qw);
@Select("select * from bus_sales_order_borrower")
List<BusSalesOrderBorrowerVo> selectListVo();
@Update("update bus_sales_order_borrower set busNo = #{busNo} where sid = #{saleOrderBorrowerSid}")
void updateBusNo(@Param("busNo") String busNo, @Param("saleOrderBorrowerSid") String saleOrderBorrowerSid);
int selectBySalesOrderSid(String sid);
LoanFinPolicy selectBySid(String sid);
BusSalesOrderBorrower selectByOrderSid(@Param("sid") String sid,@Param("customerSid") String customerSid);
BusSalesOrderBorrower selectByOrderSid(@Param("sid") String sid, @Param("customerSid") String customerSid);
IPage<BusNoGuaranteeCreditReviewVo> noGuaranteeCreditReviewPage(IPage<BusSalesOrderBorrower> page, @Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderBorrower> qw);
@Select("select * from bus_sales_order_borrower where salesOrderSid =#{orderSid}")
BusSalesOrderBorrower fetchDetailsByOrderSid(String orderSid);
}

67
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerMapper.xml

@ -1,27 +1,58 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.buscenter.biz.bussalesorderborrower.BusSalesOrderBorrowerMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerVo">
SELECT * FROM bus_sales_order_borrower <where> ${ew.sqlSegment} </where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerVo">
SELECT * FROM bus_sales_order_borrower <where> ${ew.sqlSegment} </where>
</select>
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerVo">
SELECT * FROM bus_sales_order_borrower
<where>${ew.sqlSegment}</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerVo">
SELECT * FROM bus_sales_order_borrower
<where>${ew.sqlSegment}</where>
</select>
<select id="selectBySalesOrderSid" resultType="int">
select ifnull(sum(vehCount),0) from bus_sales_order_borrower where salesOrderSid = #{sid}
<select id="selectBySalesOrderSid" resultType="int">
select ifnull(sum(vehCount), 0)
from bus_sales_order_borrower
where salesOrderSid = #{sid}
</select>
<select id="selectBySid" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy">
select lp.* from anrui_riskcenter.loan_solutions ls
left join anrui_riskcenter.loan_fin_policy lp on lp.sid = ls.policySid
where ls.salesOrderSid = #{sid}
<select id="selectBySid" resultType="com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy">
select lp.*
from anrui_riskcenter.loan_solutions ls
left join anrui_riskcenter.loan_fin_policy lp on lp.sid = ls.policySid
where ls.salesOrderSid = #{sid}
</select>
<select id="selectByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrower">
select * from bus_sales_order_borrower where salesOrderSid = #{sid} and customSid = #{customerSid}
</select>
<select id="selectByOrderSid" resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrower">
select *
from bus_sales_order_borrower
where salesOrderSid = #{sid}
and customSid = #{customerSid}
</select>
<select id="noGuaranteeCreditReviewPage"
resultType="com.yxt.anrui.buscenter.api.bussalesorderborrower.BusNoGuaranteeCreditReviewVo">
SELECT bo.sid AS salesOrderSid,
DATE_FORMAT(bo.createDate, '%Y-%m-%d') AS orderDate,
bo.useOrgName AS company,
bo.orgName AS department,
bo.staffName AS salesman,
bo.contractNo AS contractNo,
bor.borrowerName AS borrowerName,
bor.bankName AS bankName,
bor.mobile AS mobile,
cr.homeVisit AS homeVisit,
cr.homeVisitDate AS homeVisitDate,
cr.creditReview AS creditReview,
cr.creditReviewDate AS creditReviewDate,
cr.loanReview AS loanReview,
cr.loanReviewDate AS loanReviewDate,
cr.isLoan AS isLoan,
cr.isLoanDate AS isLoanDate
FROM bus_sales_order_borrower AS bor
LEFT JOIN bus_sales_order AS bo ON bor.salesOrderSid = bo.sid
LEFT JOIN anrui_riskcenter.loan_noguarantee_credit_review AS cr ON cr.salesOrderSid = bo.sid
</select>
</mapper>

12
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerRest.java

@ -107,4 +107,16 @@ public class BusSalesOrderBorrowerRest implements BusSalesOrderBorrowerFeign {
public ResultBean confirmBorrow(OrderBorrowQuery query) {
return busSalesOrderBorrowerService.confirmBorrow(query);
}
@Override
public ResultBean<PagerVo<BusNoGuaranteeCreditReviewVo>> noGuaranteeCreditReviewPage(PagerQuery<BusNoGuaranteeCreditReviewQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PagerVo<BusNoGuaranteeCreditReviewVo> pv = busSalesOrderBorrowerService.noGuaranteeCreditReviewPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<BusSalesOrderBorrowerDetailsVo> fetchDetailsByOrderSid(String orderSid) {
return busSalesOrderBorrowerService.fetchDetailsByOrderSid(orderSid);
}
}

120
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderborrower/BusSalesOrderBorrowerService.java

@ -34,7 +34,12 @@ import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPriceDto;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.buscenter.biz.bussalesorderprice.BusSalesOrderPriceService;
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
@ -69,7 +74,8 @@ public class BusSalesOrderBorrowerService extends MybatisBaseService<BusSalesOrd
private BusSalesOrderPriceService busSalesOrderPriceService;
@Autowired
private BusSalesOrderVehicleService busSalesOrderVehicleService;
@Autowired
private SysUserFeign sysUserFeign;
private QueryWrapper<BusSalesOrderBorrower> createQueryWrapper(BusSalesOrderBorrowerQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -175,4 +181,116 @@ public class BusSalesOrderBorrowerService extends MybatisBaseService<BusSalesOrd
baseMapper.insert(busSalesOrderBorrower);
return rb.success();
}
/**
* 公司非担保业务进度维护
*
* @param pq
* @return
*/
public PagerVo<BusNoGuaranteeCreditReviewVo> noGuaranteeCreditReviewPage(PagerQuery<BusNoGuaranteeCreditReviewQuery> pq) {
IPage<BusSalesOrderBorrower> page = PagerUtil.queryToPage(pq);
BusNoGuaranteeCreditReviewQuery pagerQuery = pq.getParams();
QueryWrapper<BusSalesOrderBorrower> qw = new QueryWrapper<>();
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> 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("bo.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("bo.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("bo.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("bo.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("bo.createBySid", pagerQuery.getUserSid());
} else {
PagerVo<BusNoGuaranteeCreditReviewVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<BusNoGuaranteeCreditReviewVo> p = new PagerVo<>();
return p;
}
//=======================
//PC办结时间查询
String createStartTime = pagerQuery.getStartTime();
String createEndTime = pagerQuery.getEndTime();
qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (bo.createDate,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(createEndTime), "date_format (bo.createDate,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')"
);
//分公司
if (StringUtils.isNotBlank(pagerQuery.getCompany())) {
qw.like("bo.usdOrgName", pagerQuery.getCompany());
}
//销售部门
if (StringUtils.isNotBlank(pagerQuery.getDepartment())) {
qw.like("bo.orgName", pagerQuery.getDepartment());
}
//销售专员
if (StringUtils.isNotBlank(pagerQuery.getSalesman())) {
qw.like("bo.staffName", pagerQuery.getSalesman());
}
//贷款人
if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
qw.like("bor.borrowerName", pagerQuery.getBorrowerName());
}
//合同号
if (StringUtils.isNotBlank(pagerQuery.getContractNo())) {
qw.like("bo.contractNo", pagerQuery.getContractNo());
}
//资方
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("bor.bankName", pagerQuery.getBankName());
}
//家访考察结果
if (StringUtils.isNotBlank(pagerQuery.getHomeVisit())) {
qw.like("cr.homeVisit", pagerQuery.getHomeVisit());
}
//信审终审结果
if (StringUtils.isNotBlank(pagerQuery.getCreditReview())) {
qw.like("cr.creditReview", pagerQuery.getCreditReview());
}
//放款审核结果
if (StringUtils.isNotBlank(pagerQuery.getLoanReview())) {
qw.like("cr.loanReview", pagerQuery.getLoanReview());
}
//是否放款
if (StringUtils.isNotBlank(pagerQuery.getIsLoan())) {
qw.like("cr.isLoan", pagerQuery.getIsLoan());
}
qw.eq("bor.isDelete", 0);
qw.eq("bo.payTypeKey", "1");
qw.eq("bo.nodeState", "已办结");
qw.orderByDesc("bo.createDate");
IPage<BusNoGuaranteeCreditReviewVo> pagging = baseMapper.noGuaranteeCreditReviewPage(page, qw);
PagerVo<BusNoGuaranteeCreditReviewVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<BusSalesOrderBorrowerDetailsVo> fetchDetailsByOrderSid(String orderSid) {
ResultBean<BusSalesOrderBorrowerDetailsVo> rb = ResultBean.fireFail();
BusSalesOrderBorrower entity = baseMapper.fetchDetailsByOrderSid(orderSid);
BusSalesOrderBorrowerDetailsVo vo = new BusSalesOrderBorrowerDetailsVo();
BeanUtil.copyProperties(entity, vo);
return rb.success().setData(vo);
}
}

2
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorderloancontract/BusSalesOrderLoancontractMapper.java

@ -75,6 +75,6 @@ public interface BusSalesOrderLoancontractMapper extends BaseMapper<BusSalesOrde
IPage<BusLoancontractForRepayVo> listPageForRepay(IPage<BusSalesOrderLoancontract> page,@Param(Constants.WRAPPER) QueryWrapper<BusSalesOrderLoancontract> qw);
@Update("update bus_sales_order_loancontract set bankContractNo=#{bankContractNo},busNo='305' where sid=#{loanContractSid}")
@Update("update bus_sales_order_loancontract set bankContractNo=#{bankContractNo},busNo='305',busName='放款资料审核' where sid=#{loanContractSid}")
void updateBankConAndBusNo(@Param("loanContractSid") String loanContractSid,@Param("bankContractNo") String bankContractNo);
}

1
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.java

@ -109,6 +109,7 @@ public interface BusSalesOrderVehicleMapper extends BaseMapper<BusSalesOrderVehi
List<BusSalesOrderVehicle> selectByOrderSid(@Param("salesOrderSid") String salesOrderSid);
List<BusSalesOrderVehicle> selectByOrderSid2(@Param("salesOrderSid") String salesOrderSid,@Param("borrowSid") String borrowSid);
List<BusSalesOrderVehicle> selectByOrderSid3(@Param("salesOrderSid") String salesOrderSid);
@Select("select * from bus_sales_order_vehicle where sid = #{busVinSid}")
BusSalesOrderVehicle selectBySalesOrderVehiclerSid(String busVinSid);

6
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleMapper.xml

@ -86,6 +86,12 @@
where salesOrderSid = #{salesOrderSid} and borrowerSid = #{borrowSid}
</select>
<select id="selectByOrderSid3" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select *
from bus_sales_order_vehicle
where salesOrderSid = #{salesOrderSid} and (borrowerSid IS NULL OR borrowerSid = '')
</select>
<select id="selectByNoAndVinSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select bv.*
from bus_sales_order_vehicle bv

4
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesordervehicle/BusSalesOrderVehicleService.java

@ -298,6 +298,10 @@ public class BusSalesOrderVehicleService extends MybatisBaseService<BusSalesOrde
return baseMapper.selectByOrderSid2(saleOrderSid,borrowSid);
}
public List<BusSalesOrderVehicle> selectListByOrderSid3(String saleOrderSid) {
return baseMapper.selectByOrderSid3(saleOrderSid);
}
public ResultBean<List<BusVehicleQKKPVo>> appVehicleQKKPList2(BusVehicleQKKPQuery query) {
ResultBean rb = ResultBean.fireFail();
QueryWrapper<BaseVehicle> qw = new QueryWrapper<>();

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -2660,7 +2660,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKKPTJ.getTypeKey());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKKPZZ.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);
@ -2682,7 +2682,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
BaseVehicleStateDto baseVehicleStateDto = new BaseVehicleStateDto();
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(finBillApplication.getContractNo(), finBillVehicleVo.getVehSid()).getData();
baseVehicleStateDto.setBusSid(busSalesOrderVehicle.getSid());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKKPTJ.getTypeKey());
baseVehicleStateDto.setOperateType(BaseVehicleStateEnum.OperateTypeEnum.QKKPZZ.getTypeKey());
baseVehicleStateDtos.add(baseVehicleStateDto);
}
baseVehicleStateFeign.saveOrUpdate(baseVehicleStateDtos);

11
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowFeign.java

@ -6,9 +6,9 @@ import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* @description:
@ -32,4 +32,9 @@ public interface FlowFeign {
@ResponseBody
ResultBean<UpdateFlowFieldVo> handleProsess(@RequestBody BusinessVariables bv);
@ApiOperation(value = "超时的所有待办流程")
@GetMapping(value = "/getMessageMinutesList")
@ResponseBody
ResultBean<List<FlowableMessageVo>> getMessageList(@RequestParam("minutes") int minutes);
}

29
anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/flow2/FlowableMessageVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.flowable.api.flow2;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/9/10
**/
@Data
public class FlowableMessageVo implements Vo {
private static final long serialVersionUID = 5680927155476931545L;
@ApiModelProperty("流程id")
private String proDefId;
@ApiModelProperty("流程实例id")
private String procInstId;
@ApiModelProperty("环节名称")
private String nodeName;
@ApiModelProperty("环节id")
private String taskDefKey;
@ApiModelProperty("审核人员、被催办人")
private String assignee;
@ApiModelProperty("接收时间")
private String createTime;
private String taskId;
}

4
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.java

@ -2,8 +2,11 @@ package com.yxt.anrui.flowable.biz.flow2;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.flowable.api.flow.Flowable;
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -11,4 +14,5 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface FlowMapper extends BaseMapper<Flowable> {
List<FlowableMessageVo> getMessageList(int minutes);
}

12
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowMapper.xml

@ -1,4 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.flowable.biz.flow2.FlowMapper">
<select id="getMessageList" resultType="com.yxt.anrui.flowable.api.flow2.FlowableMessageVo">
select TIMESTAMPDIFF(SECOND, CREATE_TIME_, NOW()) as yuTime,
PROC_DEF_ID_ as proDefId,
PROC_INST_ID_ as procInstId,
TASK_DEF_KEY_ as taskDefKey,
NAME_ as nodeName,
ASSIGNEE_ as assignee,
CREATE_TIME_ as createTime,
ID_ taskId,
from act_ru_task
HAVING yuTime > (#{minutes} * 60)
</select>
</mapper>

6
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowRest.java

@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.biz.process.ProcessService;
import com.yxt.anrui.flowable.feign.MessageFeign;
@ -100,5 +101,10 @@ public class FlowRest implements FlowFeign {
return updateFlowFieldVoResultBean;
}
@Override
public ResultBean<List<FlowableMessageVo>> getMessageList(int minutes) {
return flowService.getMessageList(minutes);
}
}

8
anrui-flowable/anrui-flowable-biz/src/main/java/com/yxt/anrui/flowable/biz/flow2/FlowService.java

@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yxt.anrui.flowable.api.flow.Flowable;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowableMessageVo;
import com.yxt.anrui.flowable.api.flowcomment.FlowComment;
import com.yxt.anrui.flowable.api.flowtask.FlowTask;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
@ -747,4 +748,11 @@ public class FlowService extends MybatisBaseService<FlowMapper, Flowable> {
}
return rb.success().setMsg("抄送" + userName.toString() + "成功!");
}
public ResultBean<List<FlowableMessageVo>> getMessageList(int minutes) {
ResultBean<List<FlowableMessageVo>> rb = ResultBean.fireFail();
List<FlowableMessageVo> list = baseMapper.getMessageList(minutes);
return rb.success().setData(list);
}
}

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

@ -11,6 +11,9 @@ public enum LoanFileEnum {
REGISTRATION_FILES_TWO("002", "登记证(3、4页)"),
TAXI_FILES("003", "营运证"),
DRIVING_CARD_FILES("004", "行驶证"),
HOME_VISIT_FILES("005", "非担保业务进度家访考察结果"),
CREDIT_REVIEW_FILES("006", "非担保业务进度资方信审结果"),
LOAN_REVIEW_FILES("007", "非担保业务进度资方放款审核结果"),
;

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinotherPolicy/LoanFinOtherPolicy.java

@ -1,5 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanfinotherPolicy;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
@ -37,8 +39,10 @@ public class LoanFinOtherPolicy extends BaseEntity {
@ApiModelProperty("车辆大类value")
private String vehCategoryValue;
@ApiModelProperty("车辆功能key")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String vehTypeKey;
@ApiModelProperty("车辆功能value")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String vehTypeValue;
@ApiModelProperty("最高融资额比例(%)")
private BigDecimal maxLoanRatio;

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicy.java

@ -1,5 +1,7 @@
package com.yxt.anrui.riskcenter.api.loanfinpolicy;
import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -29,8 +31,10 @@ public class LoanFinPolicy extends BaseEntity {
@ApiModelProperty("车辆大类value")
private String vehCategoryValue;
@ApiModelProperty("车辆功能key")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String vehTypeKey;
@ApiModelProperty("车辆功能value")
@TableField(updateStrategy = FieldStrategy.IGNORED)
private String vehTypeValue;
@ApiModelProperty("是否打包:1打包、2不打包")
private int isPack;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyDto.java

@ -32,10 +32,12 @@ public class LoanFinPolicyDto implements Dto {
private String vehCategoryKey;
@ApiModelProperty("车辆大类value")
private String vehCategoryValue;
private List<String> vehTypeKeyList = new ArrayList<>();
@ApiModelProperty("车辆功能key")
private String vehTypeKey;
@ApiModelProperty("车辆功能value")
private String vehTypeValue;
private List<String> vehTypeValueList = new ArrayList<>();
@ApiModelProperty("是否打包:1打包、0不打包")
private int isPack;
@ApiModelProperty("担保类型key")

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfinpolicy/LoanFinPolicyVo.java

@ -97,4 +97,7 @@ public class LoanFinPolicyVo implements Vo {
private String discountUseType;
@ApiModelProperty("贴息放款类型key")
private String discountUseTypeKey;
private List<String> vehTypeKeyList;
private List<String> vehTypeValueList;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitfileexamine/LoanHomevisitFileexamineQuery.java

@ -69,6 +69,8 @@ public class LoanHomevisitFileexamineQuery implements Query {
private String contractNo;
@ApiModelProperty("贷款人名称")
private String loanPeoName;
@ApiModelProperty("资方名称")
private String bankName;
@ApiModelProperty("金融产品名称")
private String policyName;
@ApiModelProperty("家访专员姓名")

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitfileexamine/LoanHomevisitFileexamineVo.java

@ -26,12 +26,16 @@
package com.yxt.anrui.riskcenter.api.loanhomevisitfileexamine;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* Project: anrui-riskcenter(家访资料审核) <br/>
* File: LoanHomevisitFileexamineVo.java <br/>
@ -71,6 +75,8 @@ public class LoanHomevisitFileexamineVo implements Vo {
private String borrowerName;
@ApiModelProperty("手机号码")
private String mobile;
@ApiModelProperty("资方名称")
private String bankName;
@ApiModelProperty("金融产品名称")
private String policyName;
@ApiModelProperty("家访专员姓名")

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanhomevisitinvestigatefile/LoanAttachTypeEnum.java

@ -29,7 +29,7 @@ public enum LoanAttachTypeEnum {
GZSFP("020", "购置税发票"),
BXFP("021", "保险发票"),
BD("022", "保单"),
RZ("023", "融资合同"),
RZHT("023", "融资合同"),
ZMFJ("024", "证明附件"),
;

36
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReview.java

@ -0,0 +1,36 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
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 Administrator
* @description
* @date 2023/8/16 14:34
*/
@Data
@ApiModel(value = "公司非担保业务进度维护", description = "公司非担保业务进度维护")
@TableName("loan_noguarantee_credit_review")
public class LoanNoGuaranteeCreditReview extends BaseEntity {
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
@ApiModelProperty("家访考察结果")
private String homeVisit;
@ApiModelProperty("家访考察日期")
private String homeVisitDate;
@ApiModelProperty("信审终审结果")
private String creditReview;
@ApiModelProperty("信审终审日期")
private String creditReviewDate;
@ApiModelProperty("放款审核结果")
private String loanReview;
@ApiModelProperty("放款审核日期")
private String loanReviewDate;
@ApiModelProperty("是否放款")
private String isLoan;
@ApiModelProperty("放款日期")
private String isLoanDate;
}

44
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewDetailsVo.java

@ -0,0 +1,44 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
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/8/21 9:13
*/
@Data
public class LoanNoGuaranteeCreditReviewDetailsVo implements Vo {
private String salesOrderSid;
@ApiModelProperty("销售专员")
private String salesman;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("家访考察结果")
private String homeVisit;
@ApiModelProperty("家访考察日期")
private String homeVisitDate;
@ApiModelProperty("信审终审结果")
private String creditReview;
@ApiModelProperty("信审终审日期")
private String creditReviewDate;
@ApiModelProperty("放款审核结果")
private String loanReview;
@ApiModelProperty("放款审核日期")
private String loanReviewDate;
@ApiModelProperty("是否放款")
private String isLoan;
@ApiModelProperty("放款日期")
private String isLoanDate;
@ApiModelProperty("家访考察结果截图")
private List<String> homeVisitFiles = new ArrayList<>();
@ApiModelProperty("信审终审结果截图")
private List<String> creditReviewFiles = new ArrayList<>();
@ApiModelProperty("放款审核结果截图")
private List<String> loanReviewFiles = new ArrayList<>();
}

46
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewDto.java

@ -0,0 +1,46 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
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/8/21 9:12
*/
@Data
public class LoanNoGuaranteeCreditReviewDto implements Dto {
private String salesOrderSid;
@ApiModelProperty("销售专员")
private String salesman;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("家访考察结果")
private String homeVisit;
@ApiModelProperty("家访考察日期")
private String homeVisitDate;
@ApiModelProperty("信审终审结果")
private String creditReview;
@ApiModelProperty("信审终审日期")
private String creditReviewDate;
@ApiModelProperty("放款审核结果")
private String loanReview;
@ApiModelProperty("放款审核日期")
private String loanReviewDate;
@ApiModelProperty("是否放款")
private String isLoan;
@ApiModelProperty("放款日期")
private String isLoanDate;
@ApiModelProperty("家访考察结果截图")
private List<String> homeVisitFiles = new ArrayList<>();
@ApiModelProperty("信审终审结果截图")
private List<String> creditReviewFiles = new ArrayList<>();
@ApiModelProperty("放款审核结果截图")
private List<String> loanReviewFiles = new ArrayList<>();
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewFallback.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
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;
/**
* @author Administrator
* @description
* @date 2023/8/16 14:36
*/
@Component
public class LoanNoGuaranteeCreditReviewFallback implements LoanNoGuaranteeCreditReviewFeign {
@Override
public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(String salesOrderSid) {
return null;
}
@Override
public ResultBean<String> saveReviewInfo(LoanNoGuaranteeCreditReviewDto dto) {
return null;
}
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewFeign.java

@ -0,0 +1,41 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanAuditInfoDto;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @description: 风控参数
* @author: fan
* @date: 2023/7/6
**/
@Api(tags = "公司非担保业务进度维护")
@FeignClient(
contextId = "anrui-riskcenter-LoanNoGuaranteeCreditReview",
name = "anrui-riskcenter",
path = "v1/noguaranteereview",
fallback = LoanNoGuaranteeCreditReviewFallback.class)
public interface LoanNoGuaranteeCreditReviewFeign {
@ApiOperation("编辑回显、详情")
@PostMapping("/details")
@ResponseBody
public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(@RequestParam("salesOrderSid") String salesOrderSid);
/**
* 办理保存
*
* @param
*/
@ApiOperation("审核保存")
@PostMapping("/saveReviewInfo")
public ResultBean<String> saveReviewInfo(@RequestBody LoanNoGuaranteeCreditReviewDto dto);
}

29
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewQuery.java

@ -0,0 +1,29 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/8/16 15:05
*/
@Data
public class LoanNoGuaranteeCreditReviewQuery implements Query {
@ApiModelProperty("参数编码")
private String parameterNo;
@ApiModelProperty("参数名称")
private String parameterName;
@ApiModelProperty("组织全路径")
private String orgPath;
@ApiModelProperty("菜单sid")
private String menuSid;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
}

23
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewVo.java

@ -0,0 +1,23 @@
package com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/8/16 15:04
*/
@Data
public class LoanNoGuaranteeCreditReviewVo implements Vo {
private String sid;
@ApiModelProperty("参数编码")
private String parameterNo;
@ApiModelProperty("参数名称")
private String parameterName;
@ApiModelProperty("参数值")
private String parameterValue;
@ApiModelProperty("备注")
private String remarks;
}

36
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanDetailsVo.java

@ -0,0 +1,36 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/9/11 14:00
*/
@Data
public class AppRepaymentPlanDetailsVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("合同号")
private String contractId;
@ApiModelProperty("贷款人名称")
private String lenderName;
@ApiModelProperty("车辆台数")
private String carNumber;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("资方")
private String managementName;
@ApiModelProperty("金融产品")
private String financial;
@ApiModelProperty("销售专员")
private String salesName;
private List<AppRepaymentPlanListDetailsVo> records = new ArrayList<>();
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanListDetailsVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 14:03
*/
@Data
public class AppRepaymentPlanListDetailsVo implements Vo {
private String times;
private String otherTimes;
private String number;
private String total;
private String month;
private String monthlyPayment;
private String otherMonthlyPayment;
private String companyMonthlyPayment;
}

23
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 11:56
*/
@Data
public class AppRepaymentPlanQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("合同编号/贷款人姓名/资方名称")
private String names;
@ApiModelProperty("当前组织机构全路径sid")
private String orgPath;
}

32
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/AppRepaymentPlanVo.java

@ -0,0 +1,32 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 11:54
*/
@Data
public class AppRepaymentPlanVo implements Vo {
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("消贷合同编号")
private String contractId;
@ApiModelProperty("贷款人名称")
private String lenderName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("资方")
private String managementName;
@ApiModelProperty("金融产品")
private String financial;
@ApiModelProperty("销售专员")
private String salesName;
@ApiModelProperty("车辆台数")
private String carNum;
@ApiModelProperty("下载路径")
private String downloadUrl;
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java

@ -22,6 +22,10 @@ public class LoanRepaymentSchedule extends BaseEntity {
private String salesOrderSid;
@ApiModelProperty("借款人sid")
private String borrowerSid;
@ApiModelProperty("销售专员sid")
private String staffSid;
@ApiModelProperty("销售专员")
private String staffName;
@ApiModelProperty("借款人名称")
private String borrowerName;
@ApiModelProperty("车架号")
@ -32,6 +36,8 @@ public class LoanRepaymentSchedule extends BaseEntity {
private String loanContractNo;
@ApiModelProperty("资方名称")
private String bankName;
@ApiModelProperty("金融产品政策")
private String policyName;
@ApiModelProperty("主产品期数")
private String mainPeriod;
@ApiModelProperty("主产品首期还款日")

22
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeign.java

@ -1,6 +1,10 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationQuery;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
@ -44,4 +48,22 @@ public interface LoanRepaymentScheduleFeign {
public ResultBean<List<LoanCreateScheduleVinOneVo>> viewVinOneSchedule(@RequestParam("salesOrderSid") String salesOrderSid);
//-------------------------app接口--------------------
/**
* 根据条件分页查询数据的列表已测试
*
* @param pq
*/
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/getRepaymentPlanList")
@ResponseBody
public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(@RequestBody PagerQuery<AppRepaymentPlanQuery> pq);
@ApiOperation("查看还款计划表")
@GetMapping("/getRepaymentPlanListBySid")
@ResponseBody
public ResultBean<AppRepaymentPlanDetailsVo> getRepaymentPlanListBySid(@RequestParam("sid") String sid);
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleFeignFallback.java

@ -1,6 +1,8 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
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;
@ -32,4 +34,14 @@ public class LoanRepaymentScheduleFeignFallback implements LoanRepaymentSchedule
public ResultBean<List<LoanCreateScheduleVinOneVo>> viewVinOneSchedule(String salesOrderSid) {
return null;
}
@Override
public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) {
return null;
}
@Override
public ResultBean<AppRepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
return null;
}
}

27
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfileexamine/LoanFileexamineService.java

@ -235,6 +235,33 @@ public class LoanFileexamineService extends MybatisBaseService<LoanFileexamineMa
}
}
vo.setBxfpImages(bxfpImages);
//保单
List<LoanHomevisitInvestigateFileDetailsVo> bdVos = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.BD.getAttachType());
List<String> bdImages = new ArrayList<>();
if (bdVos != null && bdVos.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo loanHomevisitInvestigateFileDetailsVo : bdVos) {
bdImages.add(loanHomevisitInvestigateFileDetailsVo.getFileUrl());
}
}
vo.setBdImages(bdImages);
//融资合同
List<LoanHomevisitInvestigateFileDetailsVo> rzhtVos = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.RZHT.getAttachType());
List<String> rzhtImages = new ArrayList<>();
if (rzhtVos != null && rzhtVos.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo loanHomevisitInvestigateFileDetailsVo : rzhtVos) {
rzhtImages.add(loanHomevisitInvestigateFileDetailsVo.getFileUrl());
}
}
vo.setRzhtImages(rzhtImages);
//证明附件
List<LoanHomevisitInvestigateFileDetailsVo> zmfjVos = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(sid, LoanAttachTypeEnum.ZMFJ.getAttachType());
List<String> zmfjImages = new ArrayList<>();
if (zmfjVos != null && zmfjVos.size() > 0){
for (LoanHomevisitInvestigateFileDetailsVo loanHomevisitInvestigateFileDetailsVo : zmfjVos) {
zmfjImages.add(loanHomevisitInvestigateFileDetailsVo.getFileUrl());
}
}
vo.setZmfjImages(zmfjImages);
return vo;
}
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyRest.java

@ -69,7 +69,7 @@ public class LoanFinPolicyRest implements LoanFinPolicyFeign {
}
@Override
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid,String isPack,String name) {
return loanFinPolicyService.selectList(orgPath,userSid,isPack,name);
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name) {
return loanFinPolicyService.selectList(orgPath, userSid, isPack, name);
}
}

93
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfinpolicy/LoanFinPolicyService.java

@ -52,6 +52,9 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
String orgPath = dto.getOrgPath();
if (StringUtils.isBlank(dto.getBankSid())) {
return rb.setMsg("资方不允许为空");
}
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
String useOrgName = "";
ResultBean<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid);
@ -61,6 +64,16 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
if (StringUtils.isBlank(sid)) {
LoanFinPolicy loanFinPolicy = new LoanFinPolicy();
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
List<String> vehTypeKeyList = dto.getVehTypeKeyList();
if (!vehTypeKeyList.isEmpty()) {
String vehTypeKey = String.join(",", vehTypeKeyList);
loanFinPolicy.setVehTypeKey(vehTypeKey);
}
List<String> vehTypeValueList = dto.getVehTypeValueList();
if (!vehTypeValueList.isEmpty()) {
String vehTypeValue = String.join(",", vehTypeValueList);
loanFinPolicy.setVehTypeValue(vehTypeValue);
}
List<UseDept> useDeptList = dto.getUseDeptList();
String deptSids = "";
String deptNames = "";
@ -83,8 +96,8 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if(StringUtils.isNotBlank(loanFinPolicy.getPeriodKey())){
policyName = policyName.append(loanFinPolicy.getPeriod()+"期");
if (StringUtils.isNotBlank(loanFinPolicy.getPeriodKey())) {
policyName = policyName.append(loanFinPolicy.getPeriod() + "期");
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
@ -120,9 +133,9 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
//其它融名称=资方+产品类别+最高融资比例+期数
//其它融产品名称=资方简称+产品类别+期数+最高融资比例,如:中车首付贷 24 期20
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod()+ "期 ";
if(StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())){
name = name+loanFinOtherPolicy.getMaxLoanRatio()+"%";
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod() + "期 ";
if (StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())) {
name = name + loanFinOtherPolicy.getMaxLoanRatio() + "%";
}
loanFinOtherPolicy.setOtherPolicyName(name);
@ -133,6 +146,14 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicy.setCreateOrgSid(useOrgSid);
loanFinOtherPolicy.setUseOrgName(useOrgName);
loanFinOtherPolicy.setCreateOrgName(useOrgName);
if (!vehTypeKeyList.isEmpty()) {
String vehTypeKey = String.join(",", vehTypeKeyList);
loanFinOtherPolicy.setVehTypeKey(vehTypeKey);
}
if (!vehTypeValueList.isEmpty()) {
String vehTypeValue = String.join(",", vehTypeValueList);
loanFinOtherPolicy.setVehTypeValue(vehTypeValue);
}
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
} else {
loanFinPolicy.setIsOtherProduct(0);
@ -144,6 +165,20 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(dto, loanFinPolicy, "sid");
List<String> vehTypeKeyList = dto.getVehTypeKeyList();
if (!vehTypeKeyList.isEmpty()) {
String vehTypeKey = String.join(",", vehTypeKeyList);
loanFinPolicy.setVehTypeKey(vehTypeKey);
} else {
loanFinPolicy.setVehTypeKey("");
}
List<String> vehTypeValueList = dto.getVehTypeValueList();
if (!vehTypeValueList.isEmpty()) {
String vehTypeValue = String.join(",", vehTypeValueList);
loanFinPolicy.setVehTypeValue(vehTypeValue);
} else {
loanFinPolicy.setVehTypeValue("");
}
String deptSids = "";
String deptNames = "";
List<UseDept> useDeptList = dto.getUseDeptList();
@ -170,11 +205,23 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
BeanUtil.copyProperties(loanFinOtherPolicyDto, loanFinOtherPolicy);
loanFinOtherPolicy.setUseDeptSids(deptSids);
loanFinOtherPolicy.setUseDeptNames(deptNames);
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod()+ "期 ";
if(StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())){
name = name+loanFinOtherPolicy.getMaxLoanRatio()+"%";
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod() + "期 ";
if (StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())) {
name = name + loanFinOtherPolicy.getMaxLoanRatio() + "%";
}
loanFinOtherPolicy.setOtherPolicyName(name);
if (!vehTypeKeyList.isEmpty()) {
String vehTypeKey = String.join(",", vehTypeKeyList);
loanFinOtherPolicy.setVehTypeKey(vehTypeKey);
}else{
loanFinOtherPolicy.setVehTypeKey("");
}
if (!vehTypeValueList.isEmpty()) {
String vehTypeValue = String.join(",", vehTypeValueList);
loanFinOtherPolicy.setVehTypeValue(vehTypeValue);
}else{
loanFinOtherPolicy.setVehTypeValue("");
}
loanFinOtherPolicyService.updateById(loanFinOtherPolicy);
} else {
loanFinOtherPolicy = new LoanFinOtherPolicy();
@ -188,11 +235,19 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
loanFinOtherPolicy.setUseOrgName(useOrgName);
loanFinOtherPolicy.setCreateOrgName(useOrgName);
loanFinOtherPolicy.setCreateBySid(dto.getUserSid());
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod()+ "期 ";
if(StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())){
name = name+loanFinOtherPolicy.getMaxLoanRatio()+"%";
String name = loanFinOtherPolicy.getBankShortName() + " " + loanFinOtherPolicy.getProductTypeValue() + " " + loanFinOtherPolicy.getPeriod() + "期 ";
if (StringUtils.isNotBlank(loanFinOtherPolicyDto.getMaxLoanRatio())) {
name = name + loanFinOtherPolicy.getMaxLoanRatio() + "%";
}
loanFinOtherPolicy.setOtherPolicyName(name);
if (!vehTypeKeyList.isEmpty()) {
String vehTypeKey = String.join(",", vehTypeKeyList);
loanFinOtherPolicy.setVehTypeKey(vehTypeKey);
}
if (!vehTypeValueList.isEmpty()) {
String vehTypeValue = String.join(",", vehTypeValueList);
loanFinOtherPolicy.setVehTypeValue(vehTypeValue);
}
loanFinOtherPolicyService.insert(loanFinOtherPolicy);
}
}
@ -201,8 +256,8 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
if (StringUtils.isNotBlank(loanFinPolicy.getBankShortName())) {
policyName = policyName.append(loanFinPolicy.getBankShortName());
}
if(StringUtils.isNotBlank(loanFinPolicy.getPeriodKey())){
policyName = policyName.append(loanFinPolicy.getPeriod()+"期");
if (StringUtils.isNotBlank(loanFinPolicy.getPeriodKey())) {
policyName = policyName.append(loanFinPolicy.getPeriod() + "期");
}
if (StringUtils.isNotBlank(loanFinPolicy.getGuaranteeTypeValue())) {
policyName = policyName.append("(").append(loanFinPolicy.getGuaranteeTypeValue());
@ -242,6 +297,14 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return rb.setMsg("该金融产品政策不存在");
}
BeanUtil.copyProperties(loanFinPolicy, loanFinPolicyVo);
if (StringUtils.isNotBlank(loanFinPolicyVo.getVehTypeKey())) {
List<String> listKey = Arrays.asList(loanFinPolicyVo.getVehTypeKey().split(","));
loanFinPolicyVo.setVehTypeKeyList(listKey);
}
if (StringUtils.isNotBlank(loanFinPolicyVo.getVehTypeValue())) {
List<String> listValue = Arrays.asList(loanFinPolicyVo.getVehTypeValue().split(","));
loanFinPolicyVo.setVehTypeValueList(listValue);
}
loanFinPolicyVo.setOrgPath(loanFinPolicy.getOrgSidPath());
loanFinPolicyVo.setUserSid(loanFinPolicy.getCreateBySid());
if (loanFinPolicy.getIsOtherProduct() == 1) {
@ -509,10 +572,10 @@ public class LoanFinPolicyService extends MybatisBaseService<LoanFinPolicyMapper
return rb.success().setData(appPolicyDetailsVo);
}
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid,String isPack,String name) {
public ResultBean<List<PolicyVo>> selectList(String orgPath, String userSid, String isPack, String name) {
ResultBean<List<PolicyVo>> rb = ResultBean.fireFail();
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
List<PolicyVo> list = baseMapper.selectListOne(useOrgSid,isPack,name);
List<PolicyVo> list = baseMapper.selectListOne(useOrgSid, isPack, name);
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}

1
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitfileexamine/LoanHomevisitFileexamineMapper.xml

@ -15,6 +15,7 @@
bo.`contractNo`,
bb.`borrowerName`,
bb.`mobile`,
bb.bankName,
bb.`policyName`,
li.`homeVisStaffName`,
li.investigateValue

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanhomevisitfileexamine/LoanHomevisitFileexamineService.java

@ -149,6 +149,9 @@ public class LoanHomevisitFileexamineService extends MybatisBaseService<LoanHome
if (StringUtils.isNotBlank(query.getLoanPeoName())) {
qw.like("bb.borrowerName", query.getLoanPeoName());
}
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("bb.bankName", query.getBankName());
}
if (StringUtils.isNotBlank(query.getPolicyName())) {
qw.like("bb.policyName", query.getPolicyName());
}
@ -411,6 +414,7 @@ public class LoanHomevisitFileexamineService extends MybatisBaseService<LoanHome
}
LoanHomevisitFileexamine entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid");
entity.setState(2);
baseMapper.updateById(entity);
}
@ -445,10 +449,10 @@ public class LoanHomevisitFileexamineService extends MybatisBaseService<LoanHome
if (StringUtils.isBlank(busSalesOrderLoancontractDetailsVo.getBankContractNo())) {
loanZfConDetailsVo.setBankContractNoShow(busSalesOrderBorrowerDetailsVo.getBorrowerName() + "(暂无)");
} else {
loanZfConDetailsVo.setBankContractNo(busSalesOrderLoancontractDetailsVo.getLoanContractNo());
loanZfConDetailsVo.setBankContractNo(busSalesOrderLoancontractDetailsVo.getBankContractNo());
loanZfConDetailsVo.setBankContractNoShow(busSalesOrderBorrowerDetailsVo.getBorrowerName() + "(" + busSalesOrderLoancontractDetailsVo.getBankContractNo() + ")");
//资方合同附件
List<LoanHomevisitInvestigateFileDetailsVo> loanHomevisitInvestigateFileDetailsVos2 = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(loanHomevisitFileexamine.getHomeVisitSid(), busSalesOrderLoancontractDetailsVo.getLoanContractNo());
List<LoanHomevisitInvestigateFileDetailsVo> loanHomevisitInvestigateFileDetailsVos2 = loanHomevisitInvestigateFileService.selByMainSidAndTypeKey(loanHomevisitFileexamine.getHomeVisitSid(), busSalesOrderLoancontractDetailsVo.getBankContractNo());
if (loanHomevisitInvestigateFileDetailsVos2 != null && loanHomevisitInvestigateFileDetailsVos2.size() > 0) {
for (LoanHomevisitInvestigateFileDetailsVo loanHomevisitInvestigateFileDetailsVo : loanHomevisitInvestigateFileDetailsVos2) {
bankContractImages.add(loanHomevisitInvestigateFileDetailsVo.getFileUrl());

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewMapper.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.biz.loannoguaranteecreditreview;
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.loannoguaranteecreditreview.LoanNoGuaranteeCreditReview;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
/**
* @description:
* @author: fan
* @date: 2023/8/21
**/
@Mapper
public interface LoanNoGuaranteeCreditReviewMapper extends BaseMapper<LoanNoGuaranteeCreditReview> {
@Select("SELECT * FROM loan_noguarantee_credit_review WHERE salesOrderSid = #{salesOrderSid}")
LoanNoGuaranteeCreditReview selectOneByOrderSid(String salesOrderSid);
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewMapper.xml

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewMapper">
</mapper>

38
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewRest.java

@ -0,0 +1,38 @@
package com.yxt.anrui.riskcenter.biz.loannoguaranteecreditreview;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDto;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign;
import com.yxt.anrui.riskcenter.api.loanparameter.*;
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;
/**
* @description:
* @author: fan
* @date: 2023/8/21
**/
@Api(tags = "公司非担保业务进度维护")
@RestController
@RequestMapping("v1/noguaranteereview")
public class LoanNoGuaranteeCreditReviewRest implements LoanNoGuaranteeCreditReviewFeign {
@Autowired
private LoanNoGuaranteeCreditReviewService loanNoGuaranteeCreditReviewService;
@Override
public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(String salesOrderSid) {
return loanNoGuaranteeCreditReviewService.details(salesOrderSid);
}
@Override
public ResultBean<String> saveReviewInfo(LoanNoGuaranteeCreditReviewDto dto) {
return loanNoGuaranteeCreditReviewService.saveReviewInfo(dto);
}
}

152
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loannoguaranteecreditreview/LoanNoGuaranteeCreditReviewService.java

@ -0,0 +1,152 @@
package com.yxt.anrui.riskcenter.biz.loannoguaranteecreditreview;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReview;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo;
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDto;
import com.yxt.anrui.riskcenter.api.loanparameter.*;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
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 org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @description:
* @author: fan
* @date: 2023/8/21
**/
@Service
public class LoanNoGuaranteeCreditReviewService extends MybatisBaseService<LoanNoGuaranteeCreditReviewMapper, LoanNoGuaranteeCreditReview> {
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private LoanFileService loanFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
public ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> details(String salesOrderSid) {
ResultBean<LoanNoGuaranteeCreditReviewDetailsVo> rb = ResultBean.fireFail();
LoanNoGuaranteeCreditReviewDetailsVo vo = new LoanNoGuaranteeCreditReviewDetailsVo();
LoanNoGuaranteeCreditReview entity = baseMapper.selectOneByOrderSid(salesOrderSid);
BeanUtil.copyProperties(entity, vo);
String sid = "";
if (StringUtils.isNotBlank(entity.getSid())) {
sid = entity.getSid();
}
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(salesOrderSid).getData();
if (null != busSalesOrder) {
if (StringUtils.isNotBlank(busSalesOrder.getStaffName())) {
vo.setSalesman(busSalesOrder.getStaffName());
}
}
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsByOrderSid(salesOrderSid).getData();
if (null != borrowerDetailsVo) {
if (StringUtils.isNotBlank(borrowerDetailsVo.getBorrowerName())) {
vo.setBorrowerName(borrowerDetailsVo.getBorrowerName());
}
}
//家访考察结果截图
List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.HOME_VISIT_FILES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> homeVisitFiles = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
vo.setHomeVisitFiles(homeVisitFiles);
}
//信审终审结果截图
fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.CREDIT_REVIEW_FILES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> creditReviewFiles = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList());
vo.setCreditReviewFiles(creditReviewFiles);
}
//放款审核结果截图
fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.LOAN_REVIEW_FILES.getAttachType());
fileList.removeAll(Collections.singleton(null));
if (!fileList.isEmpty()) {
List<String> loanReviewFiles = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).collect(Collectors.toList());
vo.setLoanReviewFiles(loanReviewFiles);
}
return rb.success().setData(vo);
}
public ResultBean<String> saveReviewInfo(LoanNoGuaranteeCreditReviewDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String salesOrderSid = dto.getSalesOrderSid();
LoanNoGuaranteeCreditReview entity = baseMapper.selectOneByOrderSid(salesOrderSid);
if (null != entity) {
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity);
String sid = entity.getSid();
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<String> homeVisitFiles = dto.getHomeVisitFiles();
if (!homeVisitFiles.isEmpty()) {
loanFileService.saveAll(sid, homeVisitFiles, LoanFileEnum.HOME_VISIT_FILES.getAttachType());
}
List<String> creditReviewFiles = dto.getCreditReviewFiles();
if (!creditReviewFiles.isEmpty()) {
loanFileService.saveAll(sid, creditReviewFiles, LoanFileEnum.CREDIT_REVIEW_FILES.getAttachType());
}
List<String> loanReviewFiles = dto.getLoanReviewFiles();
if (!loanReviewFiles.isEmpty()) {
loanFileService.saveAll(sid, loanReviewFiles, LoanFileEnum.LOAN_REVIEW_FILES.getAttachType());
}
} else {
LoanNoGuaranteeCreditReview loanNoGuaranteeCreditReview = new LoanNoGuaranteeCreditReview();
BeanUtil.copyProperties(dto, loanNoGuaranteeCreditReview, "id", "sid");
baseMapper.insert(loanNoGuaranteeCreditReview);
String sid = loanNoGuaranteeCreditReview.getSid();
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<String> homeVisitFiles = dto.getHomeVisitFiles();
if (!homeVisitFiles.isEmpty()) {
loanFileService.saveAll(sid, homeVisitFiles, LoanFileEnum.HOME_VISIT_FILES.getAttachType());
}
List<String> creditReviewFiles = dto.getCreditReviewFiles();
if (!creditReviewFiles.isEmpty()) {
loanFileService.saveAll(sid, creditReviewFiles, LoanFileEnum.CREDIT_REVIEW_FILES.getAttachType());
}
List<String> loanReviewFiles = dto.getLoanReviewFiles();
if (!loanReviewFiles.isEmpty()) {
loanFileService.saveAll(sid, loanReviewFiles, LoanFileEnum.LOAN_REVIEW_FILES.getAttachType());
}
}
return rb.success().setData(salesOrderSid);
}
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java

@ -6,7 +6,9 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -21,4 +23,6 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper<LoanRepaymentSch
LoanRepaymentSchedule selectByOrderSid(String salesOrderSid);
IPage<AppRepaymentPlanVo> getRepaymentPlanList(IPage<LoanRepaymentSchedule> page, @Param(Constants.WRAPPER) QueryWrapper<LoanWarrantInformation> qw);
}

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml

@ -8,4 +8,20 @@
from loan_repayment_schedule
where salesOrderSid = #{salesOrderSid}
</select>
<select id="getRepaymentPlanList"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo">
SELECT sid,
loanContractNo as contractId,
borrowerName as lenderName,
vinNo,
bankName as managementName,
policyName as financial,
staffName as salesName,
vehCount as carNum,
schedulePath as downloadUrl
from loan_repayment_schedule
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

15
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleRest.java

@ -2,7 +2,10 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo;
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;
@ -42,4 +45,16 @@ public class LoanRepaymentScheduleRest implements LoanRepaymentScheduleFeign {
public ResultBean<List<LoanCreateScheduleVinOneVo>> viewVinOneSchedule(String salesOrderSid) {
return loanRepaymentScheduleService.viewVinOneSchedule(salesOrderSid);
}
@Override
public ResultBean<PagerVo<AppRepaymentPlanVo>> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) {
ResultBean<PagerVo<AppRepaymentPlanVo>> rb = ResultBean.fireFail();
PagerVo<AppRepaymentPlanVo> page = loanRepaymentScheduleService.getRepaymentPlanList(pq);
return rb.success().setData(page);
}
@Override
public ResultBean<AppRepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
return loanRepaymentScheduleService.getRepaymentPlanListBySid(sid);
}
}

237
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

@ -2,6 +2,10 @@ package com.yxt.anrui.riskcenter.biz.loanrepaymentschedule;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.SolutionsDetailsssVo;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontract;
import com.yxt.anrui.buscenter.api.bussalesorderloancontract.BusSalesOrderLoancontractFeign;
@ -11,18 +15,25 @@ import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusDataListPdfVo;
import com.yxt.anrui.buscenter.api.busvehicledatahandover.BusVehicleDataHandoverPdfVo;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
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.riskcenter.api.loanrepaymentschedule.*;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationQuery;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformationVo;
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsService;
import com.yxt.anrui.riskcenter.biz.loansolutionsotherpolicy.LoanSolutionsOtherpolicyService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.base.utils.WordConvertUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@ -59,6 +70,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private DocPdfComponent docPdfComponent;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
/**
* 根据销售订单SID生成还款计划表回显
@ -215,6 +228,15 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} else {
LoanRepaymentSchedule entity = new LoanRepaymentSchedule();
BeanUtil.copyProperties(dto, entity, "id", "sid");
BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(dto.getSalesOrderSid()).getData();
if (null != busSalesOrder) {
if (StringUtils.isNotBlank(busSalesOrder.getCreateBySid())) {
entity.setStaffSid(busSalesOrder.getCreateBySid());
}
if (StringUtils.isNotBlank(busSalesOrder.getStaffName())) {
entity.setStaffName(busSalesOrder.getStaffName());
}
}
List<BusSalesOrderVehicle> busSalesOrderVehicles = busSalesOrderVehicleFeign.selectListByOrderSid(dto.getSalesOrderSid()).getData();
busSalesOrderVehicles.removeAll(Collections.singleton(null));
if (!busSalesOrderVehicles.isEmpty()) {
@ -231,6 +253,9 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
if (StringUtils.isNotBlank(loancontract.getBankName())) {
entity.setBankName(loancontract.getBankName());
}
if (StringUtils.isNotBlank(loancontract.getPolicyName())) {
entity.setPolicyName(loancontract.getPolicyName());
}
}
baseMapper.insert(entity);
}
@ -518,4 +543,216 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
}
return rb.success().setData(list);
}
//---------------------app接口----------------------------
public PagerVo<AppRepaymentPlanVo> getRepaymentPlanList(PagerQuery<AppRepaymentPlanQuery> pq) {
IPage<LoanRepaymentSchedule> page = PagerUtil.queryToPage(pq);
AppRepaymentPlanQuery pagerQuery = pq.getParams();
QueryWrapper<LoanWarrantInformation> qw = new QueryWrapper<>();
qw.eq("isDelete", 0);
qw.orderByDesc("createTime");
qw.eq("staffSid", pagerQuery.getUserSid());
if (StringUtils.isNotBlank(pagerQuery.getNames())) {
qw.and(wrapper -> wrapper.like("loanContractNo", pagerQuery.getNames()).or().like("borrowerName", pagerQuery.getNames()).or().like("bankName", pagerQuery.getNames()));
}
IPage<AppRepaymentPlanVo> pagging = baseMapper.getRepaymentPlanList(page, qw);
List<AppRepaymentPlanVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
String urlPrefix = docPdfComponent.getPrefixTemplateUrl();
for (AppRepaymentPlanVo record : records) {
if (StringUtils.isNotBlank(record.getDownloadUrl())) {
record.setDownloadUrl(urlPrefix + record.getDownloadUrl());
}
}
}
PagerVo<AppRepaymentPlanVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<AppRepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
ResultBean<AppRepaymentPlanDetailsVo> rb = ResultBean.fireFail();
AppRepaymentPlanDetailsVo vo = new AppRepaymentPlanDetailsVo();
LoanRepaymentSchedule schedule = fetchBySid(sid);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String mainDate = "";
String otherDate = "";
String isOther = "";
BigDecimal mainF = new BigDecimal(0);
BigDecimal otherF = new BigDecimal(0);
BigDecimal mainM = new BigDecimal(0);
BigDecimal otherM = new BigDecimal(0);
BigDecimal mainL = new BigDecimal(0);
BigDecimal otherL = new BigDecimal(0);
if (null != schedule) {
vo.setSid(sid);
if (StringUtils.isNotBlank(schedule.getLoanContractNo())) {
vo.setContractId(schedule.getLoanContractNo());
}
if (StringUtils.isNotBlank(schedule.getBorrowerName())) {
vo.setLenderName(schedule.getBorrowerName());
}
if (StringUtils.isNotBlank(schedule.getVehCount())) {
vo.setCarNumber(schedule.getVehCount());
}
if (StringUtils.isNotBlank(schedule.getVinNo())) {
vo.setVinNo(schedule.getVinNo());
}
if (StringUtils.isNotBlank(schedule.getBankName())) {
vo.setManagementName(schedule.getBankName());
}
if (StringUtils.isNotBlank(schedule.getPolicyName())) {
vo.setFinancial(schedule.getPolicyName());
}
if (StringUtils.isNotBlank(schedule.getStaffName())) {
vo.setSalesName(schedule.getStaffName());
}
if (null != schedule.getMainRepayDate()) {
mainDate = sdf.format(schedule.getMainRepayDate());
}
if (null != schedule.getOtherRepayDate()) {
otherDate = sdf.format(schedule.getOtherRepayDate());
}
String mainRepayDate = "";
String otherRepayDate = "";
//主产品月还日
if (StringUtils.isNotBlank(mainDate)) {
String[] splitMainDate = mainDate.split("-");
String day = splitMainDate[2];
if (day.length() == 2 && Integer.parseInt(day) >= 10) {
mainRepayDate = day;
} else {
mainRepayDate = day.replace("0", "");
}
}
//其他融月还日
if (StringUtils.isNotBlank(otherDate)) {
String[] splitOtherDate = otherDate.split("-");
String day = splitOtherDate[2];
if (day.length() == 2 && Integer.parseInt(day) >= 10) {
otherRepayDate = day;
} else {
otherRepayDate = day.replace("0", "");
}
}
//月还金额
if (null != schedule.getMainFirstRepay()) {
mainF = schedule.getMainFirstRepay();
}
if (null != schedule.getMainMidRepay()) {
mainM = schedule.getMainMidRepay();
}
if (null != schedule.getMainLastRepay()) {
mainL = schedule.getMainLastRepay();
}
if (null != schedule.getOtherFirstRepay()) {
otherF = schedule.getOtherFirstRepay();
}
if (null != schedule.getOtherMidRepay()) {
otherM = schedule.getOtherMidRepay();
}
if (null != schedule.getOtherLastRepay()) {
otherL = schedule.getOtherLastRepay();
}
//-----还款计划表列表信息-------
List<AppRepaymentPlanListDetailsVo> scheduleVins = new ArrayList<>();
if (StringUtils.isNotBlank(schedule.getMainPeriod())) {
int mainPeriod = Integer.parseInt(schedule.getMainPeriod());
if (StringUtils.isNotBlank(schedule.getIsOtherPolicy())) {
isOther = schedule.getIsOtherPolicy();
}
String otherPer = "";
if (StringUtils.isNotBlank(schedule.getOtherPeriod())) {
otherPer = schedule.getOtherPeriod();
}
int otherMidPer = 0;
int otherLastPer = 0;
String month = "";
String year = "";
String moth = "";
String otherMoth = "";
String otherFDate = "";
String otherMonth = "";
if (StringUtils.isNotBlank(mainDate)) {
String[] splitMain = mainDate.split("-");
year = splitMain[0];
moth = splitMain[1];
if (moth.length() == 2 && Integer.parseInt(moth) >= 10) {
month = moth;
} else {
month = moth.replace("0", "");
}
}
if (StringUtils.isNotBlank(otherDate)) {
String[] splitOther = otherDate.split("-");
otherMoth = splitOther[1];
if (otherMoth.length() == 2 && Integer.parseInt(otherMoth) >= 10) {
otherMonth = otherMoth;
} else {
otherMonth = otherMoth.replace("0", "");
}
otherFDate = splitOther[0] + otherMonth;
}
for (int i = 1; i <= mainPeriod; i++) {
String yearMonth = year + month;
AppRepaymentPlanListDetailsVo scheduleVo = new AppRepaymentPlanListDetailsVo();
scheduleVo.setTimes(mainRepayDate);
scheduleVo.setOtherTimes(otherRepayDate);
scheduleVo.setMonth(year + "年" + month + "月");
scheduleVo.setNumber(String.valueOf(i));
int m = Integer.parseInt(month);
month = String.valueOf(++m);
if (Integer.parseInt(month) > 12) {
int y = Integer.parseInt(year);
year = String.valueOf(++y);
month = "1";
}
if (isOther.equals("1")) {
//首期
if (i == 1) {
scheduleVo.setMonthlyPayment(mainF.toString());
} else if (i == mainPeriod) {
scheduleVo.setMonthlyPayment(mainL.toString());
} else {
scheduleVo.setMonthlyPayment(mainM.toString());
}
if ((yearMonth.equals(otherFDate))) {
scheduleVo.setOtherMonthlyPayment(otherF.toString());
scheduleVo.setTotal((new BigDecimal(scheduleVo.getMonthlyPayment()).add(otherF)).toString());
otherMidPer = (i + Integer.parseInt(otherPer)) - 2;
otherLastPer = (i + Integer.parseInt(otherPer)) - 1;
} else if (i <= otherMidPer && otherMidPer != 0) {
scheduleVo.setOtherMonthlyPayment(otherM.toString());
scheduleVo.setTotal((new BigDecimal(scheduleVo.getMonthlyPayment()).add(otherM)).toString());
} else if (i == otherLastPer && otherLastPer != 0) {
scheduleVo.setOtherMonthlyPayment(otherL.toString());
scheduleVo.setTotal((new BigDecimal(scheduleVo.getMonthlyPayment()).add(otherL)).toString());
} else if (scheduleVo.getOtherMonthlyPayment() == null || "".equals(scheduleVo.getOtherMonthlyPayment())) {
scheduleVo.setTotal(scheduleVo.getMonthlyPayment());
scheduleVo.setOtherMonthlyPayment("");
}
} else if (isOther.equals("0")) {
//首期
if (i == 1) {
scheduleVo.setMonthlyPayment(mainF.toString());
} else if (i == mainPeriod) {
scheduleVo.setMonthlyPayment(mainL.toString());
} else {
scheduleVo.setMonthlyPayment(mainM.toString());
}
if (scheduleVo.getOtherMonthlyPayment() == null || "".equals(scheduleVo.getOtherMonthlyPayment())) {
scheduleVo.setTotal(scheduleVo.getMonthlyPayment());
scheduleVo.setOtherMonthlyPayment("");
}
}
scheduleVins.add(scheduleVo);
}
if (!scheduleVins.isEmpty()) {
vo.setRecords(scheduleVins);
}
}
}
return rb.success().setData(vo);
}
}

15
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/autoservice/saleOrders/vininput/BusVinNoVo2.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.autoservice.saleOrders.vininput;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -12,8 +13,14 @@ import java.util.List;
**/
@Data
public class BusVinNoVo2 {
@ApiModelProperty("贷款人")
private String borrowName;
private String borrowSid;
private List<BusVinNoVo> vinList;
@ApiModelProperty("是否已出库")
private Boolean state;
@JsonProperty("vin")
private String linkNo;
@JsonProperty("carSid")
private String linkSid;
@ApiModelProperty("车架号是0,标题是1,全款时全是0,贷款时,有贷款人的是1,其他分组人也是1")
private int viewType;
@ApiModelProperty("当上面字段为0时,该值为空字符串,为1时,贷款人:xxx,/未选择贷款人")
private String groupName;
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/base/common/CarModelVo.java

@ -34,7 +34,7 @@ public class CarModelVo implements Vo {
private String requestCode;
private String pluginName;
// private String pluginName;
private String aRouterClass;

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanDetailsVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.fasterxml.jackson.annotation.JsonProperty;
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/8/28 10:41
*/
@Data
public class RepaymentPlanDetailsVo implements Vo {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("合同号")
private String contractId;
@ApiModelProperty("贷款人名称")
private String lenderName;
@ApiModelProperty("车辆台数")
private String carNumber;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("资方")
private String managementName;
@ApiModelProperty("金融产品")
private String financial;
@ApiModelProperty("销售专员")
private String salesName;
private List<RepaymentPlanListDetailsVo> records = new ArrayList<>();
}

37
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanFeign.java

@ -0,0 +1,37 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;
/**
* @Author
* @Date
* @Description
*/
@Api(tags = "还款计划表")
@FeignClient(
contextId = "terminal-RepaymentPlan",
name = "anrui-terminal",
path = "/riskcenter/v1/repaymentPlan",
fallback = RepaymentPlanFeignFallback.class)
public interface RepaymentPlanFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/getRepaymentPlanList")
@ResponseBody
public ResultBean<PagerVo<RepaymentPlanVo>> getRepaymentPlanList(@RequestBody PagerQuery<RepaymentPlanQuery> pq);
@ApiOperation("查看还款计划表")
@GetMapping("/getRepaymentPlanListBySid")
@ResponseBody
public ResultBean<RepaymentPlanDetailsVo> getRepaymentPlanListBySid(@RequestParam("sid") String sid);
}

27
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanFeignFallback.java

@ -0,0 +1,27 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.yxt.anrui.terminal.api.risk.mortgage.AppMortgageInformationTransactDto;
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;
/**
* @Author
* @Date 2023/3/21 15:19
* @Description
*/
@Component
public class RepaymentPlanFeignFallback implements RepaymentPlanFeign {
@Override
public ResultBean<PagerVo<RepaymentPlanVo>> getRepaymentPlanList(PagerQuery<RepaymentPlanQuery> pq) {
return null;
}
@Override
public ResultBean<RepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
return null;
}
}

22
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanListDetailsVo.java

@ -0,0 +1,22 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/11 14:26
*/
@Data
public class RepaymentPlanListDetailsVo implements Vo {
private String times;
private String otherTimes;
private String number;
private String total;
private String month;
private String monthlyPayment;
private String otherMonthlyPayment;
private String companyMonthlyPayment;
}

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/8/28 10:35
*/
@Data
public class RepaymentPlanQuery implements Query {
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("合同编号/贷款人姓名/资方名称")
private String names;
@ApiModelProperty("当前组织机构全路径sid")
private String orgPath;
}

34
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/repaymentplan/RepaymentPlanVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.api.risk.repaymentplan;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/8/28 10:33
*/
@Data
public class RepaymentPlanVo implements Vo {
@ApiModelProperty("业务sid")
private String sid;
@ApiModelProperty("消贷合同编号")
private String contractId;
@ApiModelProperty("贷款人名称")
private String lenderName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("资方")
private String managementName;
@ApiModelProperty("金融产品")
private String financial;
@ApiModelProperty("销售专员")
private String salesName;
@ApiModelProperty("车辆台数")
private String carNum;
@ApiModelProperty("下载路径")
private String downloadUrl;
}

2
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/saleOrders/AppBusSalesOrderService.java

@ -731,7 +731,7 @@ public class AppBusSalesOrderService {
LoanOrderPreloanVo loanOrderPreloanVo = resultBean.getData();
BeanUtil.copyProperties(loanOrderPreloanVo, orderLoanVo);
if ("信用审核".equals(loanOrderPreloanVo.getConfirmBtn())) {
CarModelVo finPage1 = commonService.getLoanSolution(sid).getData();
CarModelVo finPage1 = commonService.getLoanPreloan(sid).getData();
orderLoanVo.setPluginPage(finPage1);
}
return rb.setMsg(resultBean.getMsg()).setData(orderLoanVo);

6
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/base/common/CommonService.java

@ -104,7 +104,7 @@ public class CommonService {
appSubVersionVo.setJson(JSONObject.toJSONString(map));
BeanUtil.copyProperties(appSubVersionVo, carModelVo);
carModelVo.setRequestCode("1002");
carModelVo.setPluginName("autoservice");
// carModelVo.setPluginName("autoservice");
carModelVo.setARouterClass("com.anrui.android.plugin.autoservice.manager.ARouterManager");
carModelVo.setARouterMethod("DETAIL_SALE_ORDER");
List<String> aRouterParamType = new ArrayList<>();
@ -129,7 +129,7 @@ public class CommonService {
appSubVersionVo.setJson(JSONObject.toJSONString(map));
BeanUtil.copyProperties(appSubVersionVo, carModelVo);
carModelVo.setRequestCode("1003");
carModelVo.setPluginName("autoservice");
// carModelVo.setPluginName("autoservice");
carModelVo.setARouterClass("com.anrui.android.plugin.autoservice.manager.ARouterManager");
carModelVo.setARouterMethod("EDIT_SALE_ORDER_ONE_CAR_FINANCE");
List<String> aRouterParamType = new ArrayList<>();
@ -156,7 +156,7 @@ public class CommonService {
appSubVersionVo.setJson(JSONObject.toJSONString(map));
BeanUtil.copyProperties(appSubVersionVo, carModelVo);
carModelVo.setRequestCode("1004");
carModelVo.setPluginName("riskcontrol");
// carModelVo.setPluginName("riskcontrol");
carModelVo.setARouterClass("com.anrui.android.plugin.riskcontrol.manager.ARouterManager");
carModelVo.setARouterMethod("EDIT_CREDIT_REVIEW_ACTIVITY");
List<String> aRouterParamType = new ArrayList<>();

7
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/creditreview/CreditReviewService.java

@ -6,6 +6,8 @@ import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigFeign;
import com.yxt.anrui.base.api.basevehmodelconfig.BaseVehmodelConfigVos;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModel;
import com.yxt.anrui.buscenter.api.bussalesordermodel.BusSalesOrderModelFeign;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationQuery;
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationVo;
import com.yxt.anrui.fin.api.finbillapplication.flowable.FinBillNodeQuery;
@ -86,6 +88,8 @@ public class CreditReviewService {
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BusSalesOrderModelFeign busSalesOrderModelFeign;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
@Autowired
private LoanFinPolicyFeign loanFinPolicyFeign;
@ -123,6 +127,9 @@ public class CreditReviewService {
LoanFinPolicyVo loanFinPolicyVo = loanFinPolicyFeign.details(solutionsDetailsVo.getPolicySid()).getData();
creditReviewDetailsVo.setManagementSid(loanFinPolicyVo.getBankSid());
creditReviewDetailsVo.setManagementName(loanFinPolicyVo.getBankShortName());
BusSalesOrderModel busSalesOrderModel = busSalesOrderModelFeign.fetchByOrderSid(query.getSourceSid()).getData();
creditReviewDetailsVo.setModelSid(busSalesOrderModel.getModelSid());
creditReviewDetailsVo.setModel(busSalesOrderModel.getModelName());
}
} else {//修改回显
LoanPreloanCreditApplyDetailsVo loanPreloanCreditApplyDetailsVo = loanPreloanCreditApplyFeign.fetchDetailsBySid(query.getSid()).getData();

39
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repaymentplan/RepaymentPlanRest.java

@ -0,0 +1,39 @@
package com.yxt.anrui.terminal.biz.risk.repaymentplan;
import com.yxt.anrui.terminal.api.risk.mortgage.*;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanDetailsVo;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanFeign;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanQuery;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanVo;
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.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author
* @Date 2023/3/25 9:39
* @Description
*/
@Api(tags = "还款计划表")
@Controller
@RequestMapping("/riskcenter/v1/repaymentPlan")
public class RepaymentPlanRest implements RepaymentPlanFeign {
@Autowired
private RepaymentPlanService repaymentPlanService;
@Override
public ResultBean<PagerVo<RepaymentPlanVo>> getRepaymentPlanList(PagerQuery<RepaymentPlanQuery> pq) {
return repaymentPlanService.getRepaymentPlanList(pq);
}
@Override
public ResultBean<RepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
return repaymentPlanService.getRepaymentPlanListBySid(sid);
}
}

57
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/repaymentplan/RepaymentPlanService.java

@ -0,0 +1,57 @@
package com.yxt.anrui.terminal.biz.risk.repaymentplan;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanmortgageinformationtransact.*;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanQuery;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleFeign;
import com.yxt.anrui.terminal.api.risk.mortgage.AppMortgageInformationTransactDetailsVo;
import com.yxt.anrui.terminal.api.risk.mortgage.AppMortgageInformationTransactDto;
import com.yxt.anrui.terminal.api.risk.mortgage.AppMortgageInformationTransactQuery;
import com.yxt.anrui.terminal.api.risk.mortgage.AppMortgageInformationTransactVo;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanDetailsVo;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanQuery;
import com.yxt.anrui.terminal.api.risk.repaymentplan.RepaymentPlanVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author
* @Date 2023/3/25 9:40
* @Description
*/
@Service
public class RepaymentPlanService {
@Autowired
private LoanRepaymentScheduleFeign loanRepaymentScheduleFeign;
public ResultBean<PagerVo<RepaymentPlanVo>> getRepaymentPlanList(PagerQuery<RepaymentPlanQuery> pq) {
ResultBean<PagerVo<RepaymentPlanVo>> rb = ResultBean.fireFail();
PagerVo<RepaymentPlanVo> pagerVo = new PagerVo<>();
PagerQuery<AppRepaymentPlanQuery> pagerQuery = new PagerQuery<>();
BeanUtil.copyProperties(pq, pagerQuery);
ResultBean<PagerVo<AppRepaymentPlanVo>> repaymentPlanList = loanRepaymentScheduleFeign.getRepaymentPlanList(pagerQuery);
if (repaymentPlanList.getSuccess()) {
PagerVo<AppRepaymentPlanVo> data = repaymentPlanList.getData();
BeanUtil.copyProperties(data, pagerVo);
}
return rb.success().setData(pagerVo);
}
public ResultBean<RepaymentPlanDetailsVo> getRepaymentPlanListBySid(String sid) {
ResultBean<RepaymentPlanDetailsVo> rb = ResultBean.fireFail();
RepaymentPlanDetailsVo vo = new RepaymentPlanDetailsVo();
AppRepaymentPlanDetailsVo data = loanRepaymentScheduleFeign.getRepaymentPlanListBySid(sid).getData();
if (null != data) {
BeanUtil.copyProperties(data, vo);
}
return rb.success().setData(vo);
}
}
Loading…
Cancel
Save