Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
God 1 year ago
parent
commit
a00e4d8080
  1. 202
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java
  2. 1
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  3. 11
      anrui-riskcenter-ui/src/api/Common/dictcommons.js
  4. 18
      anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue
  5. 62
      anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue
  6. 52
      anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue
  7. 40
      anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue
  8. 40
      anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue
  9. 52
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue
  10. 60
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue
  11. 52
      anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue
  12. 80
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java
  13. 53
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java
  14. 101
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java
  15. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java
  16. 69
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java
  17. 49
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java
  18. 50
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java
  19. 87
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java
  20. 16
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java
  21. 19
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java
  22. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java
  23. 72
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java
  24. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java
  25. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java
  26. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java
  27. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java
  28. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java
  29. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java
  30. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java
  31. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java
  32. 22
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java
  33. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java
  34. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/DownloadExcelVo.java
  35. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java
  36. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java
  37. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java
  38. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/RedemptionInitVo.java
  39. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java
  40. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApply.java
  41. 34
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java
  42. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApply.java
  43. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyDto.java
  44. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeign.java
  45. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyFeignFallback.java
  46. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/LoanSubletApplyInit.java
  47. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/SubletInitVo.java
  48. 43
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java
  49. 187
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml
  50. 107
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java
  51. 969
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  52. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java
  53. 22
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml
  54. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java
  55. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java
  56. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  57. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml
  58. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java
  59. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml
  60. 22
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  61. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java
  62. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.java
  63. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml
  64. 39
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java
  65. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.java
  66. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml
  67. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyRest.java
  68. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java
  69. 2
      doc/databases/risk_center.sql

202
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bushandover/BusHandoverService.java

@ -2163,122 +2163,120 @@ public class BusHandoverService extends MybatisBaseService<BusHandoverMapper, Bu
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} //------------------推送抵押办理------------------------
//------------------推送抵押办理------------------------ try {
try { ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() .setNameFormat("demo-pool-%d").build();
.setNameFormat("demo-pool-%d").build(); ExecutorService pool = new ThreadPoolExecutor(2, 100,
ExecutorService pool = new ThreadPoolExecutor(2, 100, 0L, TimeUnit.MILLISECONDS,
0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); BusHandover mortgageHandover = busHandover;
BusHandover mortgageHandover = busHandover; Future future1 = pool.submit(() -> {
Future future1 = pool.submit(() -> { String orderSid = mortgageHandover.getOrderSid();
String orderSid = mortgageHandover.getOrderSid(); BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid);
BusSalesOrder salesOrder = busSalesOrderService.fetchBySid(orderSid); String createBySid = "";
String createBySid = ""; String staff = "";
String staff = ""; String staffSid = "";
String staffSid = ""; String bankName = "";
String bankName = ""; String bankSid = "";
String bankSid = ""; String orgPath = "";
String orgPath = ""; String dept = "";
String dept = ""; String deptSid = "";
String deptSid = ""; if (null != salesOrder) {
if (null != salesOrder) { if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) {
if (StringUtils.isNotBlank(salesOrder.getPayTypeKey())) { if ("2".equals(salesOrder.getPayTypeKey())) {
if ("2".equals(salesOrder.getPayTypeKey())) { if (StringUtils.isNotBlank(salesOrder.getCreateBySid())) {
if (StringUtils.isNotBlank(salesOrder.getCreateBySid())) { createBySid = salesOrder.getCreateBySid();
createBySid = salesOrder.getCreateBySid(); }
} if (StringUtils.isNotBlank(salesOrder.getOrgSidPath())) {
if (StringUtils.isNotBlank(salesOrder.getOrgSidPath())) { orgPath = salesOrder.getOrgSidPath();
orgPath = salesOrder.getOrgSidPath(); }
} if (StringUtils.isNotBlank(salesOrder.getStaffSid())) {
if (StringUtils.isNotBlank(salesOrder.getStaffSid())) { staffSid = salesOrder.getStaffSid();
staffSid = salesOrder.getStaffSid(); }
} if (StringUtils.isNotBlank(salesOrder.getStaffName())) {
if (StringUtils.isNotBlank(salesOrder.getStaffName())) { staff = salesOrder.getStaffName();
staff = salesOrder.getStaffName(); }
} if (StringUtils.isNotBlank(salesOrder.getOrgName())) {
if (StringUtils.isNotBlank(salesOrder.getOrgName())) { dept = salesOrder.getOrgName();
dept = salesOrder.getOrgName(); }
} if (StringUtils.isNotBlank(salesOrder.getOrgSid())) {
if (StringUtils.isNotBlank(salesOrder.getOrgSid())) { deptSid = salesOrder.getOrgSid();
deptSid = salesOrder.getOrgSid(); }
} LoanSolutions solutions = loanSolutionsFeign.getOneByOrderSid(orderSid).getData();
LoanSolutions solutions = loanSolutionsFeign.getOneByOrderSid(orderSid).getData(); if (null != solutions) {
if (null != solutions) { if (StringUtils.isNotBlank(solutions.getPolicySid())) {
if (StringUtils.isNotBlank(solutions.getPolicySid())) { LoanFinPolicyVo policyVo = loanFinPolicyFeign.details(solutions.getPolicySid()).getData();
LoanFinPolicyVo policyVo = loanFinPolicyFeign.details(solutions.getPolicySid()).getData(); if (null != policyVo) {
if (null != policyVo) { if (StringUtils.isNotBlank(policyVo.getBankSid())) {
if (StringUtils.isNotBlank(policyVo.getBankSid())) { bankSid = policyVo.getBankSid();
bankSid = policyVo.getBankSid(); }
} if (StringUtils.isNotBlank(policyVo.getBankShortName())) {
if (StringUtils.isNotBlank(policyVo.getBankShortName())) { bankName = policyVo.getBankShortName();
bankName = policyVo.getBankShortName(); }
} }
} }
} }
} List<BusHandoverItems> vinItems = busHandoverItemsService.getItemsListByMainSid(mortgageHandover.getSid()).getData();
List<BusHandoverItems> vinItems = busHandoverItemsService.getItemsListByMainSid(mortgageHandover.getSid()).getData(); vinItems.removeAll(Collections.singleton(null));
vinItems.removeAll(Collections.singleton(null)); if (!vinItems.isEmpty()) {
if (!vinItems.isEmpty()) { vinItems = vinItems.stream().filter(obj -> obj.getVehivelOrTrailer().equals("主车")).collect(Collectors.toList());
vinItems = vinItems.stream().filter(obj -> obj.getVehivelOrTrailer().equals("主车")).collect(Collectors.toList()); for (BusHandoverItems vinItem : vinItems) {
for (BusHandoverItems vinItem : vinItems) { LoanMortgageInformationTransactDto mortagageDto = new LoanMortgageInformationTransactDto();
LoanMortgageInformationTransactDto mortagageDto = new LoanMortgageInformationTransactDto(); mortagageDto.setCreateBySid(createBySid);
mortagageDto.setCreateBySid(createBySid); mortagageDto.setOrgSidPath(orgPath);
mortagageDto.setOrgSidPath(orgPath); mortagageDto.setSalesOrderSid(orderSid);
mortagageDto.setSalesOrderSid(orderSid); mortagageDto.setBankName(bankName);
mortagageDto.setBankName(bankName); mortagageDto.setBankSid(bankSid);
mortagageDto.setBankSid(bankSid); mortagageDto.setDept(dept);
mortagageDto.setDept(dept); mortagageDto.setDeptSid(deptSid);
mortagageDto.setDeptSid(deptSid); mortagageDto.setStaffSid(staffSid);
mortagageDto.setStaffSid(staffSid); mortagageDto.setStaff(staff);
mortagageDto.setStaff(staff); if (StringUtils.isNotBlank(vinItem.getVinSid())) {
if (StringUtils.isNotBlank(vinItem.getVinSid())) { mortagageDto.setVehSid(vinItem.getVinSid());
mortagageDto.setVehSid(vinItem.getVinSid()); BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectOneByVehSidAndOrderSid(vinItem.getVinSid(), orderSid);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleService.selectOneByVehSidAndOrderSid(vinItem.getVinSid(), orderSid); if (null != busSalesOrderVehicle) {
if (null != busSalesOrderVehicle) { if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) { String linkNo = busSalesOrderVehicle.getLinkNo();
String linkNo = busSalesOrderVehicle.getLinkNo(); if (linkNo.length() > 8) {
if (linkNo.length() > 8) { String substringLinkNo = linkNo.substring(linkNo.length() - 8);
String substringLinkNo = linkNo.substring(linkNo.length() - 8); mortagageDto.setVinNo(substringLinkNo);
mortagageDto.setVinNo(substringLinkNo); } else {
} else { mortagageDto.setVinNo(linkNo);
mortagageDto.setVinNo(linkNo); }
} }
} if (StringUtils.isNotBlank(busSalesOrderVehicle.getSid())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getSid())) { mortagageDto.setBusVinSid(busSalesOrderVehicle.getSid());
mortagageDto.setBusVinSid(busSalesOrderVehicle.getSid()); }
} if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowerSid())) { mortagageDto.setBorrowerSid(busSalesOrderVehicle.getBorrowerSid());
mortagageDto.setBorrowerSid(busSalesOrderVehicle.getBorrowerSid()); }
} if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowName())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getBorrowName())) { mortagageDto.setBorrowerName(busSalesOrderVehicle.getBorrowName());
mortagageDto.setBorrowerName(busSalesOrderVehicle.getBorrowName()); }
} if (StringUtils.isNotBlank(busSalesOrderVehicle.getLoanContractSid())) {
if (StringUtils.isNotBlank(busSalesOrderVehicle.getLoanContractSid())) { mortagageDto.setLoanContractSid(busSalesOrderVehicle.getLoanContractSid());
mortagageDto.setLoanContractSid(busSalesOrderVehicle.getLoanContractSid()); BusSalesOrderLoancontract loancontract = busSalesOrderLoancontractService.fetchBySid(busSalesOrderVehicle.getLoanContractSid());
BusSalesOrderLoancontract loancontract = busSalesOrderLoancontractService.fetchBySid(busSalesOrderVehicle.getLoanContractSid()); if (null != loancontract) {
if (null != loancontract) { if (StringUtils.isNotBlank(loancontract.getLoanContractNo())) {
if (StringUtils.isNotBlank(loancontract.getLoanContractNo())) { mortagageDto.setLoanContractNo(loancontract.getLoanContractNo());
mortagageDto.setLoanContractNo(loancontract.getLoanContractNo()); }
} }
} }
}
}
} }
loanMortgageInformationTransactFeign.saveMortgageInfo(mortagageDto);
} }
loanMortgageInformationTransactFeign.saveMortgageInfo(mortagageDto);
} }
} }
} }
} }
} });
}); } catch (Exception e) {
} catch (Exception e) { e.printStackTrace();
e.printStackTrace(); }
} }
return rb.success().setData(resultBean.getData()); return rb.success().setData(resultBean.getData());
} else { } else {
return rb.setMsg("操作失败!提交的数据不一致"); return rb.setMsg("操作失败!提交的数据不一致");

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

@ -73,6 +73,7 @@ public enum ProcDefEnum {
LOANREDEMPTIONAPPLY("车辆交回赎回申请", "process_qu4fq4r6:1:7820004"), LOANREDEMPTIONAPPLY("车辆交回赎回申请", "process_qu4fq4r6:1:7820004"),
LOANRETUENINBOUNDAPPLY("交回车辆入库申请", "process_h0i1vnn8:1:7945004"), LOANRETUENINBOUNDAPPLY("交回车辆入库申请", "process_h0i1vnn8:1:7945004"),
LOANSUBLETAPPLY("交回车辆二次转租申请", "process_lu7pdwzs:1:7940004"), LOANSUBLETAPPLY("交回车辆二次转租申请", "process_lu7pdwzs:1:7940004"),
LOANOUTBOUNDVEHAPPLY("交回车辆出库申请", ""),
/******************************测试流程id*********************************************/ /******************************测试流程id*********************************************/

11
anrui-riskcenter-ui/src/api/Common/dictcommons.js

@ -52,7 +52,7 @@ export function selModelByUseOrgSid(data) {
}) })
} }
// 根据当前登录用户的全路径sidPath、用户sid、客户类型(01个人、02企业)等获取客户信息 // 根据当前登录用户的全路径sidPath、用户sid、客户类型(01个人、02企业)等获取当前登录用户下的客户信息
export function selectCustomerList(data) { export function selectCustomerList(data) {
return request({ return request({
url: '/crm/v1/crmcustomertemp/selectCustomerList', url: '/crm/v1/crmcustomertemp/selectCustomerList',
@ -61,6 +61,15 @@ export function selectCustomerList(data) {
}) })
} }
// 根据当前登录用户的全路径sidPath获取分公司下的客户信息
export function pickCustomer(data) {
return request({
url: '/riskcenter/v1/loansubletapply/pickCustomer',
method: 'get',
params: data
})
}
// 当前用户创建申请时判断该用户是否有该菜单的操作权限 // 当前用户创建申请时判断该用户是否有该菜单的操作权限
export function selectHaveMessage(data) { export function selectHaveMessage(data) {
return request({ return request({

18
anrui-riskcenter-ui/src/views/returntostorage/returntostorage.vue

@ -50,7 +50,9 @@
<el-input v-model="listQuery.params.loanName" placeholder="" clearable/> <el-input v-model="listQuery.params.loanName" placeholder="" clearable/>
</el-form-item> </el-form-item>
<el-form-item label="是否带挂车"> <el-form-item label="是否带挂车">
<el-input v-model="listQuery.params.tralier" placeholder="" clearable/> <el-select v-model="listQuery.params.tralier" placeholder="请选择" clearable filterable>
<el-option v-for="item in tralier_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue"></el-option>
</el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="btn" style="text-align: center;"> <div class="btn" style="text-align: center;">
@ -171,7 +173,7 @@
<iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe> <iframe frameborder="0" id="iframe" style="width:100%;" scrolling="no" :src="this.centerDialogVisible === true ? url :''"></iframe>
</el-dialog> </el-dialog>
<!-- 选择车辆 --> <!-- 选择车辆 -->
<el-dialog title="可处置车辆列表" :visible.sync="carVisible" width="80%"> <el-dialog title="可入库车辆列表" :visible.sync="carVisible" width="80%">
<div> <div>
<el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px"> <el-form ref="multipleTable" :inline="true" :model="carList" class="vinNoForm" label-width="100px">
<el-form-item label="车架号"> <el-form-item label="车架号">
@ -261,6 +263,16 @@ export default {
tableKey: 0, tableKey: 0,
list: [], list: [],
sids: [], // SIDs sids: [], // SIDs
tralier_list: [
{
dictKey: '0',
dictValue: '是'
},
{
dictKey: '1',
dictValue: '否'
}
],
FormLoading: false, FormLoading: false,
listLoading: false, listLoading: false,
// //
@ -420,8 +432,6 @@ export default {
createByName: '', createByName: '',
createEndTime: '', createEndTime: '',
createStartTime: '', createStartTime: '',
createDateEnd: '',
createDateStart: '',
deptName: '', deptName: '',
menuUrl: '', menuUrl: '',
orgPath: '', orgPath: '',

62
anrui-riskcenter-ui/src/views/returntostorage/returntostorageAdd.vue

@ -94,35 +94,37 @@
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item> <el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">挂车信息</div> <div v-if="formobj.tralier === '是'">
<el-row> <div class="title">挂车信息</div>
<el-col :span="8"> <el-row>
<div class="span-sty">车架号</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item> <div class="span-sty">车架号</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">车牌号</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item> <div class="span-sty">车牌号</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">入库价()</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item> <div class="span-sty">入库价()</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<div class="span-sty">挂车类型</div> <el-col :span="8">
<el-form-item> <div class="span-sty">挂车类型</div>
<el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable> <el-form-item>
<el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> <el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable>
</el-select> <el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-form-item> </el-select>
</el-col> </el-form-item>
<el-col :span="16"> </el-col>
<div class="span-sty">备注</div> <el-col :span="16">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item> <div class="span-sty">备注</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item>
</el-row> </el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div> <div class="title">已还与欠款情况</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
@ -266,7 +268,7 @@ export default {
if (resp.success) { if (resp.success) {
this.formobj = resp.data this.formobj = resp.data
// = + () // = + ()
this.formobj.inboundMoney = parseFloat(this.formobj.currentBeMoney === '' ? 0 : this.formobj.currentBeMoney) + parseFloat(this.formobj.unexpiredMoney === '' ? 0 : this.unexpiredMoney.currentBeMoney) this.formobj.inboundMoney = parseFloat(this.formobj.currentBeMoney === '' ? 0 : this.formobj.currentBeMoney) + parseFloat(this.formobj.unexpiredMoney === '' ? 0 : this.formobj.unexpiredMoney)
} }
}) })
}, },

52
anrui-riskcenter-ui/src/views/returntostorage/returntostorageInfo.vue

@ -85,31 +85,33 @@
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">挂车信息</div> <div v-if="formobj.tralier === '是'">
<el-row> <div class="title">挂车信息</div>
<el-col :span="8"> <el-row>
<div class="span-sty">车架号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item> <div class="span-sty">车架号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">车牌号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item> <div class="span-sty">车牌号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">入库价()</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item> <div class="span-sty">入库价()</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<div class="span-sty">挂车类型</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item> <div class="span-sty">挂车类型</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
<el-col :span="16"> </el-col>
<div class="span-sty">备注</div> <el-col :span="16">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item> <div class="span-sty">备注</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-row> </el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div> <div class="title">已还与欠款情况</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">

40
anrui-riskcenter-ui/src/views/secondarysublet/secondarysubletAdd.vue

@ -80,6 +80,16 @@
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/> <el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table> </el-table>
<div class="title">新车主信息</div> <div class="title">新车主信息</div>
<el-row>
<el-col :span="24">
<div class="span-sty">客户名称</div>
<el-form-item>
<el-select v-model="formobj.newCustomerSid" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.newCustomerSid"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">新车主名称</div> <div class="span-sty">新车主名称</div>
@ -147,7 +157,7 @@
<script> <script>
import req from '@/api/secondarysublet/secondarysublet' import req from '@/api/secondarysublet/secondarysublet'
import uploadImg from '@/components/uploadFile/uploadImg' import uploadImg from '@/components/uploadFile/uploadImg'
import { typeValues } from '@/api/Common/dictcommons' import { typeValues, pickCustomer } from '@/api/Common/dictcommons'
export default { export default {
name: 'SecondarySubletAdd', name: 'SecondarySubletAdd',
@ -163,6 +173,7 @@ export default {
index: 0, index: 0,
customerType_list: [], customerType_list: [],
certificateType_list: [], certificateType_list: [],
customer_list: [],
formobj: { formobj: {
sid: '', sid: '',
userSid: '', userSid: '',
@ -220,6 +231,11 @@ export default {
this.certificateType_list = res.data this.certificateType_list = res.data
} }
}) })
pickCustomer({ orgPath: window.sessionStorage.getItem('defaultOrgPath') }).then((res) => {
if (res.success) {
this.customer_list = res.data
}
})
}, },
showAdd(row) { showAdd(row) {
this.viewTitle = '【新增】交回车辆二次转租申请' this.viewTitle = '【新增】交回车辆二次转租申请'
@ -276,6 +292,28 @@ export default {
handleDelete(index) { handleDelete(index) {
this.formobj.vinList.splice(index, 1) this.formobj.vinList.splice(index, 1)
}, },
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.newCustomerSid === value)
if (choose.length > 0 && choose !== null) {
this.formobj.vinOwner = choose[0].vinOwner
this.formobj.customerType = choose[0].customerType
this.formobj.customerTypeKey = choose[0].customerTypeKey
this.formobj.phoneNum = choose[0].phoneNum
this.formobj.endDate = choose[0].endDate
this.formobj.idNumber = choose[0].idNumber
this.formobj.certificateType = choose[0].certificateType
this.formobj.certificateTypeKey = choose[0].certificateTypeKey
} else {
this.formobj.vinOwner = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.phoneNum = ''
this.formobj.endDate = ''
this.formobj.idNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
}
},
saveOrUpdate() { saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => { this.$refs['form_obj'].validate((valid) => {
if (valid) { if (valid) {

40
anrui-riskcenter-ui/src/views/workFlow/ercizhuanzuFlow/secondarysubletEdit.vue

@ -79,6 +79,16 @@
<el-table-column prop="vehModel" label="车型" align="center" min-width="130"/> <el-table-column prop="vehModel" label="车型" align="center" min-width="130"/>
</el-table> </el-table>
<div class="title">新车主信息</div> <div class="title">新车主信息</div>
<el-row>
<el-col :span="24">
<div class="span-sty">客户名称</div>
<el-form-item>
<el-select v-model="formobj.newCustomerSid" class="addinputInfo" filterable clearable placeholder="" @change="changeCustomer">
<el-option v-for="item in customer_list" :key="item.newCustomerSid" :label="item.vinOwner" :value="item.newCustomerSid"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<div class="span-sty">新车主名称</div> <div class="span-sty">新车主名称</div>
@ -146,7 +156,7 @@
<script> <script>
import req from '@/api/secondarysublet/secondarysublet' import req from '@/api/secondarysublet/secondarysublet'
import uploadImg from '@/components/uploadFile/uploadImg' import uploadImg from '@/components/uploadFile/uploadImg'
import { typeValues } from '@/api/Common/dictcommons' import { typeValues, pickCustomer } from '@/api/Common/dictcommons'
export default { export default {
name: 'SecondarySubletEdit', name: 'SecondarySubletEdit',
@ -162,6 +172,7 @@ export default {
index: 0, index: 0,
customerType_list: [], customerType_list: [],
certificateType_list: [], certificateType_list: [],
customer_list: [],
formobj: { formobj: {
sid: '', sid: '',
userSid: '', userSid: '',
@ -246,6 +257,11 @@ export default {
req.fetchBySid({ sid: sid }).then((res) => { req.fetchBySid({ sid: sid }).then((res) => {
if (res.success) { if (res.success) {
this.formobj = res.data this.formobj = res.data
pickCustomer({ orgPath: this.formobj.orgPath }).then((res) => {
if (res.success) {
this.customer_list = res.data
}
})
} }
}) })
}, },
@ -268,6 +284,28 @@ export default {
handleDelete(index) { handleDelete(index) {
this.formobj.vinList.splice(index, 1) this.formobj.vinList.splice(index, 1)
}, },
changeCustomer(value) {
const choose = this.customer_list.filter((item) => item.newCustomerSid === value)
if (choose.length > 0 && choose !== null) {
this.formobj.vinOwner = choose[0].vinOwner
this.formobj.customerType = choose[0].customerType
this.formobj.customerTypeKey = choose[0].customerTypeKey
this.formobj.phoneNum = choose[0].phoneNum
this.formobj.endDate = choose[0].endDate
this.formobj.idNumber = choose[0].idNumber
this.formobj.certificateType = choose[0].certificateType
this.formobj.certificateTypeKey = choose[0].certificateTypeKey
} else {
this.formobj.vinOwner = ''
this.formobj.customerType = ''
this.formobj.customerTypeKey = ''
this.formobj.phoneNum = ''
this.formobj.endDate = ''
this.formobj.idNumber = ''
this.formobj.certificateType = ''
this.formobj.certificateTypeKey = ''
}
},
saveOrUpdate() { saveOrUpdate() {
this.$refs['form_obj'].validate((valid) => { this.$refs['form_obj'].validate((valid) => {
if (valid) { if (valid) {

52
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageDaiBan.vue

@ -88,31 +88,33 @@
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">挂车信息</div> <div v-if="formobj.tralier === '是'">
<el-row> <div class="title">挂车信息</div>
<el-col :span="8"> <el-row>
<div class="span-sty">车架号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item> <div class="span-sty">车架号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">车牌号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item> <div class="span-sty">车牌号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">入库价()</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item> <div class="span-sty">入库价()</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<div class="span-sty">挂车类型</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item> <div class="span-sty">挂车类型</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
<el-col :span="16"> </el-col>
<div class="span-sty">备注</div> <el-col :span="16">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item> <div class="span-sty">备注</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-row> </el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div> <div class="title">已还与欠款情况</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">

60
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageEdit.vue

@ -93,35 +93,37 @@
<el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item> <el-form-item><el-input class="addinputInfo" style="width: 30%" v-model="formobj.parkFees" clearable placeholder="" /></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">挂车信息</div> <div v-if="formobj.tralier === '是'">
<el-row> <div class="title">挂车信息</div>
<el-col :span="8"> <el-row>
<div class="span-sty">车架号</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item> <div class="span-sty">车架号</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vinNo" clearable placeholder="" /></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">车牌号</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item> <div class="span-sty">车牌号</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.vehMark" clearable placeholder="" /></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">入库价()</div> <el-col :span="8">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item> <div class="span-sty">入库价()</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.inboundMoney" clearable placeholder="" /></el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<div class="span-sty">挂车类型</div> <el-col :span="8">
<el-form-item> <div class="span-sty">挂车类型</div>
<el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable> <el-form-item>
<el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option> <el-select class="addinputInfo" v-model="formobj.loanReturnInboundTrailer.trailerTypeKey" @change="trailerChange" placeholder="请选择" filterable>
</el-select> <el-option v-for="item in trailer_list" :key="item.dictKey" :label="item.dictValue" :value="item.dictKey"></el-option>
</el-form-item> </el-select>
</el-col> </el-form-item>
<el-col :span="16"> </el-col>
<div class="span-sty">备注</div> <el-col :span="16">
<el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item> <div class="span-sty">备注</div>
</el-col> <el-form-item><el-input class="addinputInfo" style="width: 50%" v-model="formobj.loanReturnInboundTrailer.remarks" clearable placeholder="" /></el-form-item>
</el-row> </el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div> <div class="title">已还与欠款情况</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">

52
anrui-riskcenter-ui/src/views/workFlow/jiaohuirukuFlow/returntostorageYiBan.vue

@ -85,31 +85,33 @@
<el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item> <el-form-item><span class="addinputInfo">{{ formobj.parkFees }}</span></el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<div class="title">挂车信息</div> <div v-if="formobj.tralier === '是'">
<el-row> <div class="title">挂车信息</div>
<el-col :span="8"> <el-row>
<div class="span-sty">车架号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item> <div class="span-sty">车架号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vinNo }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">车牌号</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item> <div class="span-sty">车牌号</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.vehMark }}</span></el-form-item>
<el-col :span="8"> </el-col>
<div class="span-sty">入库价()</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item> <div class="span-sty">入库价()</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.inboundMoney }}</span></el-form-item>
</el-row> </el-col>
<el-row> </el-row>
<el-col :span="8"> <el-row>
<div class="span-sty">挂车类型</div> <el-col :span="8">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item> <div class="span-sty">挂车类型</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.trailerType }}</span></el-form-item>
<el-col :span="16"> </el-col>
<div class="span-sty">备注</div> <el-col :span="16">
<el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item> <div class="span-sty">备注</div>
</el-col> <el-form-item><span class="addinputInfo">{{ formobj.loanReturnInboundTrailer.remarks }}</span></el-form-item>
</el-row> </el-col>
</el-row>
</div>
<div class="title">已还与欠款情况</div> <div class="title">已还与欠款情况</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">

80
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java

@ -0,0 +1,80 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "交回车辆出库申请", description = "交回车辆出库申请")
@TableName("loan_out_bound_apply")
@Data
public class LoanOutboundApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人Sid")
private String applyUserSid; // 申请人
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请日期")
private Date applyDate; // 申请日期
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("办结日期")
private Date closingDate;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
private String customerSid;
private String borrowerSid;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("出库价格")
private BigDecimal amount;
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("处置方式key")
private String disposalKey;
@ApiModelProperty("新车主名称")
private String newCustomer;
@ApiModelProperty("新客户sid")
private String newCustomerSid;
@ApiModelProperty("处置申请sid")
private String applySid;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("出库日期")
private Date outboundDate;
}

53
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java

@ -0,0 +1,53 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 14:11
*/
@Data
public class LoanOutboundApplyDto implements Dto {
private String createBySid;
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
@ApiModelProperty("组织全路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("原客户sid")
private String customerSid;
@ApiModelProperty("原贷款人sid")
private String borrowerSid;
@ApiModelProperty("原客户名称")
private String customer;
@ApiModelProperty("原贷款人")
private String borrowerName;
@ApiModelProperty("处置方式key")
private String disposalKey;
@ApiModelProperty("处置方式")
private String disposal;
@ApiModelProperty("处置申请sid")
private String applySid;
@ApiModelProperty("新车主名称")
private String newCustomer;
@ApiModelProperty("新客户sid")
private String newCustomerSid;
@ApiModelProperty("新客户联系电话")
private String phoneNum;
@ApiModelProperty("处置车辆列表")
private List<OutboundVinListDto> vinList = new ArrayList<>();
}

101
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFeign.java

@ -0,0 +1,101 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListQuery;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "交回车辆出库申请")
@FeignClient(
contextId = "anrui-riskcenter-LoanOutboundApply",
name = "anrui-riskcenter",
path = "v1/loanoutboundapply",
fallback = LoanOutboundFeignFallback.class)
public interface LoanOutboundApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanOutboundApplyVo>> listPage(@RequestBody PagerQuery<LoanOutboundApplyQuery> pq);
@ApiOperation("保存")
@PostMapping("/saveOutbound")
@ResponseBody
public ResultBean<String> saveOutbound(@RequestBody LoanOutboundApplyDto dto);
@ApiOperation("修改")
@PostMapping("/updateOutbound")
@ResponseBody
public ResultBean<String> updateOutbound(@RequestBody LoanUpdateApplyDto dto);
@ApiOperation("详情查看")
@GetMapping("outboundDetails")
@ResponseBody
public ResultBean<LoanOutboundApplyInit> outboundDetails(@RequestParam("sid") String sid);
//------------------------------流程接口----------------------------------------------
@ApiOperation("提交")
@PostMapping("/submit")
public ResultBean submitRecordApplication(@RequestBody @Valid SubmitOutboundDto dto);
@ApiOperation(value = "办理(同意)")
@PostMapping("/complete")
public ResultBean complete(@Valid @RequestBody OutboundCompleteDto dto);
@ApiOperation(value = "撤回流程")
@PostMapping(value = "/revokeProcess")
public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody OutboundTaskQuery query);
@ApiOperation(value = "驳回任务")
@PostMapping(value = "/reject")
public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody OutboundTaskQuery query);
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@RequestBody OutboundTaskQuery query);
@ApiOperation(value = "流程历史流转记录")
@GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
@ApiOperation(value = "获取下一个环节")
@GetMapping(value = "/getNextNodesForSubmit")
ResultBean<List<OutboundGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap OutboundGetNodeQuery query);
@ApiOperation(value = "获取上一个环节")
@GetMapping(value = "/getPreviousNodesForReject")
ResultBean<List<OutboundGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap OutboundGetNodeQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody OutboundDelegateQuery query);
//-------------------------app------------------------
@ApiOperation("详情查看")
@GetMapping("/appDetails")
@ResponseBody
public ResultBean<AppOutboundDetailsVo> appDetail(@RequestParam("sid") String sid);
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyFile.java

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

69
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java

@ -0,0 +1,69 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 13:43
*/
@Data
public class LoanOutboundApplyInit implements Vo {
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String orgPath;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("二次转租价格")
private String amount;
@ApiModelProperty("转租方案说明")
private String plan;
@ApiModelProperty("原车主是否同意")
private String agree;
@ApiModelProperty("新车主名称")
private String vinOwner;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("证件地址")
private String cardAddress;
@ApiModelProperty("有效期")
private String endDate;
@ApiModelProperty("证件号码")
private String idNumber;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("新车主客户sid")
private String newCustomerSid;
private List<LoanOutboundApplyFile> files = new ArrayList<>();
private List<OutboundVinList> vinList = new ArrayList<>();
}

49
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java

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

50
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java

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

87
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundFeignFallback.java

@ -0,0 +1,87 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class LoanOutboundFeignFallback implements LoanOutboundApplyFeign {
@Override
public ResultBean<PagerVo<LoanOutboundApplyVo>> listPage(PagerQuery<LoanOutboundApplyQuery> pq) {
return null;
}
@Override
public ResultBean<String> saveOutbound(LoanOutboundApplyDto dto) {
return null;
}
@Override
public ResultBean<String> updateOutbound(LoanUpdateApplyDto dto) {
return null;
}
@Override
public ResultBean<LoanOutboundApplyInit> outboundDetails(String sid) {
return null;
}
@Override
public ResultBean submitRecordApplication(SubmitOutboundDto dto) {
return null;
}
@Override
public ResultBean complete(OutboundCompleteDto dto) {
return null;
}
@Override
public ResultBean revokeProcess(OutboundTaskQuery query) {
return null;
}
@Override
public ResultBean taskReject(OutboundTaskQuery query) {
return null;
}
@Override
public ResultBean breakProcess(OutboundTaskQuery query) {
return null;
}
@Override
public ResultBean flowRecord(String procInsId) {
return null;
}
@Override
public ResultBean<List<OutboundGetNodeVo>> getNextNodesForSubmit(OutboundGetNodeQuery query) {
return null;
}
@Override
public ResultBean<List<OutboundGetNodeVo>> getPreviousNodesForReject(OutboundGetNodeQuery query) {
return null;
}
@Override
public ResultBean delegate(OutboundDelegateQuery query) {
return null;
}
@Override
public ResultBean<AppOutboundDetailsVo> appDetail(String sid) {
return null;
}
}

16
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/19 9:55
*/
@Data
public class LoanUpdateApplyDto implements Dto {
private String sid;
}

19
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java

@ -0,0 +1,19 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/19 9:42
*/
@Data
public class OutboundVinList {
private String ledgerSid;
private String vinSid;
private String vinNo;
private String vehMark;
private String vehType;
private String vehModel;
private String busVinSid;
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinListDto.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/19 10:02
*/
@Data
public class OutboundVinListDto {
private String ledgerSid; //交回车辆台账sid
private String vinSid; //车辆sid
private String vinNo; //车架号
private String vehMark; //车牌号
private String vehType; // 车辆类型(主车/挂车)
private String vehModel; //车型
private String busVinSid; //销售订单车辆sid
private String location; //存放地点
}

72
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java

@ -0,0 +1,72 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply.app;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/1/11 17:22
*/
@Data
public class AppOutboundDetailsVo {
private String sid;
private String publishInfo;
private String time; //申请日期
private List<String> files = new ArrayList<>();
private String taskId;
private String procInsId;
/**
* 本次转租金额
*/
private String amount;
/**
* 资方合同号
*/
private String bankContractNo;
/**
* 资方
*/
private String bankName;
/**
* 贷款人
*/
private String borrName;
/**
* 原车主是否同意 0是 1否
*/
private String agree;
/**
* 客户名称
*/
private String custName;
/**
* 贷款合同号
*/
private String loanContractNo;
/**
* 转租方案说明
*/
private String plan;
/**
* 车辆列表
*/
private List<AppOutboundVinListVo> vinList = new ArrayList<>();
@ApiModelProperty("新车主名称")
private String vinOwner;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("证件地址")
private String cardAddress;
@ApiModelProperty("有效期")
private String endDate;
@ApiModelProperty("证件号码")
private String idNumber;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
}

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java

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

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundCompleteDto.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply.flow;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Administrator
* @description
* @date 2023/9/28 9:28
*/
@Data
public class OutboundDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
// @JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeQuery.java

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

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundGetNodeVo.java

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

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/OutboundTaskQuery.java

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

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/flow/SubmitOutboundDto.java

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

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanoutboundveh;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "车辆二次转租车辆列表", description = "车辆二次转租车辆列表")
@TableName("loan_sublet_veh")
@Data
public class LoanOutboundVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请表sid")
private String mainSid;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车辆订单业务sid")
private String busVinSid;
@ApiModelProperty("车辆sid")
private String vinSid;
@ApiModelProperty("主车/挂车")
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("交回车辆台账sid")
private String ledgerSid;
}

22
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeign.java

@ -0,0 +1,22 @@
package com.yxt.anrui.riskcenter.api.loanoutboundveh;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "交车车辆出库车辆列表")
@FeignClient(
contextId = "anrui-riskcenter-LoanOutboundVeh",
name = "anrui-riskcenter",
path = "v1/loanoutboundveh",
fallback = LoanOutboundVehFeignFallback.class)
public interface LoanOutboundVehFeign {
}

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVehFeignFallback.java

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

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/DownloadExcelVo.java

@ -14,7 +14,7 @@ public class DownloadExcelVo {
@ExportEntityMap(CnName = "财务中客户编码", EnName = "customerNo") @ExportEntityMap(CnName = "财务中客户编码", EnName = "customerNo")
private String customerNo; private String customerNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customerName") @ExportEntityMap(CnName = "财务中客户名称", EnName = "customerName")
private String customerName; private String customerName;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo") @ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo; private String vinNo;

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

@ -52,6 +52,8 @@ public class LoanRedemptionApply extends BaseEntity {
private String bankName; private String bankName;
@ApiModelProperty("资方合同号") @ApiModelProperty("资方合同号")
private String bankContractNo; private String bankContractNo;
private String customerSid;
private String borrowerSid;
@ApiModelProperty("客户名称") @ApiModelProperty("客户名称")
private String customer; private String customer;
@ApiModelProperty("贷款人") @ApiModelProperty("贷款人")

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

@ -24,6 +24,8 @@ public class LoanRedemptionApplyDto implements Dto {
private String applyName; private String applyName;
private String applyDate; private String applyDate;
private String orgPath; private String orgPath;
private String customerSid;
private String borrowerSid;
@ApiModelProperty("消贷合同号") @ApiModelProperty("消贷合同号")
private String loanContractNo; private String loanContractNo;
@ApiModelProperty("资方") @ApiModelProperty("资方")

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

@ -68,6 +68,8 @@ public class LoanRedemptionApplyInit implements Vo {
private String beOverdueMoneyAndPeriod; // 逾期金额换算期数 private String beOverdueMoneyAndPeriod; // 逾期金额换算期数
private String busVinSid; //催收记录 private String busVinSid; //催收记录
private String rksqSid; //入库申请sid private String rksqSid; //入库申请sid
private String customerSid;
private String borrowerSid;
private List<LoanRedemptionApplyFile> files = new ArrayList<>(); private List<LoanRedemptionApplyFile> files = new ArrayList<>();
private List<RedemptionVinList> vinList = new ArrayList<>(); private List<RedemptionVinList> vinList = new ArrayList<>();

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

@ -29,4 +29,6 @@ public class RedemptionInitVo {
private String vehMark; private String vehMark;
private String vehType; private String vehType;
private String vehModel; private String vehModel;
private String customerSid;
private String borrowerSid;
} }

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/OtherPolicyVo.java

@ -0,0 +1,14 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/19 15:18
*/
@Data
public class OtherPolicyVo {
private String otherBankName;
private String otherPolicyName;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApply.java

@ -60,7 +60,7 @@ public class LoanReturnInboundApply extends BaseEntity {
@ApiModelProperty("停放地点sid") @ApiModelProperty("停放地点sid")
private String locationSid; private String locationSid;
@ApiModelProperty("停车收费标准") @ApiModelProperty("停车收费标准")
private BigDecimal parkFees; private String parkFees;
@ApiModelProperty("已还金额") @ApiModelProperty("已还金额")
private BigDecimal alRepaidMoney; private BigDecimal alRepaidMoney;
@ApiModelProperty("当前逾期金额") @ApiModelProperty("当前逾期金额")

34
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansubletapply/CustomerListVo.java

@ -0,0 +1,34 @@
package com.yxt.anrui.riskcenter.api.loansubletapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/1/19 10:46
*/
@Data
public class CustomerListVo {
@ApiModelProperty("名称")
private String vinOwner;
@ApiModelProperty("客户类型key")
private String customerTypeKey;
@ApiModelProperty("客户类型")
private String customerType;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("证件地址")
private String cardAddress;
@ApiModelProperty("有效期")
private String endDate;
@ApiModelProperty("证件号码")
private String idNumber;
@ApiModelProperty("证件类型key")
private String certificateTypeKey;
@ApiModelProperty("证件类型(个人为身份证/企业为营业执照)")
private String certificateType;
@ApiModelProperty("新车主客户sid")
private String newCustomerSid;
}

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

@ -82,5 +82,7 @@ public class LoanSubletApply extends BaseEntity {
private String certificateType; private String certificateType;
@ApiModelProperty("新车主客户sid") @ApiModelProperty("新车主客户sid")
private String newCustomerSid; private String newCustomerSid;
private String customerSid;
private String borrowerSid;
} }

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

@ -23,6 +23,8 @@ public class LoanSubletApplyDto implements Dto {
private String applyName; private String applyName;
private String applyDate; private String applyDate;
private String orgPath; private String orgPath;
private String customerSid;
private String borrowerSid;
@ApiModelProperty("消贷合同号") @ApiModelProperty("消贷合同号")
private String loanContractNo; private String loanContractNo;
@ApiModelProperty("资方") @ApiModelProperty("资方")

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

@ -38,6 +38,12 @@ public interface LoanSubletApplyFeign {
@PostMapping("/getVinList") @PostMapping("/getVinList")
public ResultBean<PagerVo<SubletVinListVo>> getVinList(@RequestBody PagerQuery<SubletVinListQuery> pq); public ResultBean<PagerVo<SubletVinListVo>> getVinList(@RequestBody PagerQuery<SubletVinListQuery> pq);
@ApiOperation("获取客户列表")
@GetMapping("/pickCustomer")
@ResponseBody
public ResultBean<List<CustomerListVo>> pickCustomer(@RequestParam("orgPath") String orgPath);
@ApiOperation("新增初始化") @ApiOperation("新增初始化")
@GetMapping("/subletInit") @GetMapping("/subletInit")
@ResponseBody @ResponseBody

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

@ -25,6 +25,11 @@ public class LoanSubletApplyFeignFallback implements LoanSubletApplyFeign {
return null; return null;
} }
@Override
public ResultBean<List<CustomerListVo>> pickCustomer(String orgPath) {
return null;
}
@Override @Override
public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) { public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) {
return null; return null;

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

@ -23,6 +23,8 @@ public class LoanSubletApplyInit implements Vo {
private String applyName; private String applyName;
private String applyDate; private String applyDate;
private String orgPath; private String orgPath;
private String customerSid;
private String borrowerSid;
@ApiModelProperty("任务id") @ApiModelProperty("任务id")
private String taskId; private String taskId;
@ApiModelProperty("实例id") @ApiModelProperty("实例id")

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

@ -28,4 +28,6 @@ public class SubletInitVo {
private String vehType; private String vehType;
private String vehModel; private String vehModel;
private String pSid; private String pSid;
private String customerSid;
private String borrowerSid;
} }

43
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java

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

187
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml

@ -0,0 +1,187 @@
<?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.loanoutboundapply.LoanOutboundApplyMapper">
<update id="updateFlowFiled">
UPDATE loan_out_bound_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo">
SELECT
*
FROM
(
SELECT
sa.sid,
sa.isDelete,
sa.nodeState,
sa.agree,
sa.useOrgSid,
sa.createBySid,
sa.orgSidPath,
sa.useOrgName AS company,
sa.dept,
sa.applyName,
date_format( sa.applyDate, '%Y-%m-%d' ) AS applyDate,
sa.procDefId,
sa.procInstId,
date_format( sa.closingDate, '%Y-%m-%d' ) AS closingDate,
sa.loanContractNo,
sa.bankName,
sa.bankContractNo,
sa.borrowerName,
sa.customer,
sa.amount,
( SELECT count(*) FROM loan_sublet_veh h WHERE mainSid = sa.sid ) AS `count`,
v.vehType,
v.vinNo,
v.vehMark
FROM
loan_sublet_apply AS sa
LEFT JOIN loan_sublet_veh AS v ON sa.sid = v.mainSid
) a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getVinList" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinListVo">
SELECT
v.sid ledgerSid,
v.vinNo,
v.vehMark,
v.vehModel,
v.customer,
v.borrowerName,
v.vehType,
l.bankName
FROM
loan_return_veh_ledger AS v
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b ON v.busVinSid = b.sid
LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as l ON b.loanContractSid = l.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="redemptionInit" resultType="com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionInitVo">
SELECT a.*,
c.bankName,
c.bankContractNo,
c.loanContractNo
FROM (SELECT v.sid ledgerSid,
v.vinNo,
v.vinSid,
v.vehMark,
v.vehModel,
v.customer,
v.vehType,
v.location,
v.borrowerName,
(SELECT b.sid
FROM anrui_buscenter.bus_sales_order_vehicle as b
WHERE b.linkSid = v.vinSid
and b.borrowerSid = v.borrowerSid) as busVinSid,
(SELECT b.loanContractSid
FROM anrui_buscenter.bus_sales_order_vehicle as b
WHERE b.linkSid = v.vinSid
and b.borrowerSid = v.borrowerSid) as loanContractSid
FROM loan_return_veh_ledger as v) a
LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as c ON c.sid = a.loanContractSid
WHERE a.ledgerSid = #{ledgerSid}
</select>
<select id="selTrailerByLedgerSid"
resultType="com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList">
SELECT vinSid,
vinNo,
vehMark,
vehType,
vehModel
FROM loan_return_trailer_ledger as t
WHERE t.mainSid = #{ledgerSid}
</select>
<select id="selReturnLegerBySid" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletInitVo">
SELECT sid legerSid,
customer,
borrowerName,
busVinSid,
vehType,
pSid
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
<select id="selLoanInfoByMainVeh" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletInitVo">
SELECT l.bankName,
l.bankContractNo,
l.loanContractNo
FROM anrui_buscenter.bus_sales_order_loancontract as l
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b
ON l.sid = b.loanContractSid
WHERE b.sid = #{busVinSid}
</select>
<select id="selReturnVinLegerBySid"
resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList">
SELECT sid ledgerSid,
vinSid,
vinNo,
vehMark,
vehType,
vehModel,
busVinSid
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
<select id="selReturnTrVinLegerByPSid"
resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList">
SELECT sid ledgerSid,
vinSid,
vinNo,
vehMark,
vehType,
vehModel,
busVinSid
FROM loan_return_veh_ledger
WHERE pSid = #{ledgerSid}
and disposal = '未处置'
and stockState = '库存'
</select>
<select id="selLoanInfoByTrVeh" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletInitVo">
SELECT l.bankName,
l.bankContractNo,
l.loanContractNo
FROM anrui_buscenter.bus_sales_order_loancontract as l
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b
ON l.sid = b.loanContractSid
WHERE b.sid = (SELECT busVinSid
FROM loan_return_veh_ledger
WHERE sid = (SELECT pSid FROM loan_return_veh_ledger WHERE sid = #{ledgerSid}))
</select>
<select id="selReturnTrVinLegerBySid"
resultType="com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList">
SELECT sid ledgerSid,
vinSid,
vinNo,
vehMark,
vehType,
vehModel,
busVinSid
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
<select id="selVehDisposal" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.VehDisposal">
SELECT sid,
disposalKey,
disposal
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
</mapper>

107
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyRest.java

@ -0,0 +1,107 @@
package com.yxt.anrui.riskcenter.biz.loanoutboundapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.*;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "交回车辆出库申请")
@RestController
@RequestMapping("v1/loanoutboundapply")
public class LoanOutboundApplyRest implements LoanOutboundApplyFeign {
@Autowired
private LoanOutboundApplyService loanOutboundApplyService;
@Override
public ResultBean<PagerVo<LoanOutboundApplyVo>> listPage(PagerQuery<LoanOutboundApplyQuery> pq) {
ResultBean<PagerVo<LoanOutboundApplyVo>> rb = ResultBean.fireFail();
PagerVo<LoanOutboundApplyVo> pv = loanOutboundApplyService.listPage(pq);
return rb.success().setData(pv);
}
@Override
public ResultBean<String> saveOutbound(LoanOutboundApplyDto dto) {
return loanOutboundApplyService.saveOutbound(dto);
}
@Override
public ResultBean<String> updateOutbound(LoanUpdateApplyDto dto) {
return loanOutboundApplyService.updateOutbound(dto);
}
@Override
public ResultBean<LoanOutboundApplyInit> outboundDetails(String sid) {
return loanOutboundApplyService.outboundDetails(sid);
}
@Override
public ResultBean submitRecordApplication(SubmitOutboundDto dto) {
return loanOutboundApplyService.submitRecordApplication(dto);
}
@Override
public ResultBean complete(OutboundCompleteDto dto) {
BusinessVariables bv = new BusinessVariables();
BeanUtil.copyProperties(dto, bv);
bv.setModelId(ProcDefEnum.LOANOUTBOUNDVEHAPPLY.getProDefId());
return loanOutboundApplyService.complete(bv);
}
@Override
public ResultBean revokeProcess(OutboundTaskQuery query) {
return loanOutboundApplyService.revokeProcess(query);
}
@Override
public ResultBean taskReject(OutboundTaskQuery query) {
return loanOutboundApplyService.taskReject(query);
}
@Override
public ResultBean breakProcess(OutboundTaskQuery query) {
return loanOutboundApplyService.breakProcess(query);
}
@Override
public ResultBean flowRecord(String procInsId) {
return loanOutboundApplyService.flowRecord(procInsId);
}
@Override
public ResultBean<List<OutboundGetNodeVo>> getNextNodesForSubmit(OutboundGetNodeQuery query) {
return loanOutboundApplyService.getNextNodesForSubmit(query);
}
@Override
public ResultBean<List<OutboundGetNodeVo>> getPreviousNodesForReject(OutboundGetNodeQuery query) {
return loanOutboundApplyService.getPreviousNodesForReject(query);
}
@Override
public ResultBean delegate(OutboundDelegateQuery query) {
return loanOutboundApplyService.delegate(query);
}
@Override
public ResultBean<AppOutboundDetailsVo> appDetail(String sid) {
return loanOutboundApplyService.appDetail(sid);
}
}

969
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java

@ -0,0 +1,969 @@
package com.yxt.anrui.riskcenter.biz.loanoutboundapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerFeign;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign;
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.*;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.app.AppOutboundDetailsVo;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletDetailsVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.app.AppSubletVinListVo;
import com.yxt.anrui.riskcenter.api.loansubletapply.flow.*;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanoutboundveh.LoanOutboundVehService;
import com.yxt.anrui.riskcenter.biz.loanredemptionapply.LoanRedemptionApplyService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
/**
* @description:
* @author: fzz
* @date: 2023/7/6
**/
@Service
public class LoanOutboundApplyService extends MybatisBaseService<LoanOutboundApplyMapper, LoanOutboundApply> {
@Autowired
private MessageFeign messageFeign;
@Autowired
private SysUserFeign sysUserFeign;
@Autowired
private LoanRepaymentHistoryService loanRepaymentHistoryService;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private LoanBuckleApplyRecordService loanBuckleApplyRecordService;
@Autowired
private LoanFileService loanFileService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private FlowFeign flowFeign;
@Autowired
private FlowTaskFeign flowTaskFeign;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@Autowired
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign;
@Autowired
private FinKingDeeFeign finKingDeeFeign;
@Autowired
private BusSalesOrderBorrowerFeign busSalesOrderBorrowerFeign;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanRedemptionApplyService loanRedemptionApplyService;
@Autowired
private LoanSubletVehService loanSubletVehService;
@Autowired
private LoanOutboundVehService loanOutboundVehService;
public PagerVo<LoanOutboundApplyVo> listPage(PagerQuery<LoanOutboundApplyQuery> pq) {
return null;
// IPage<LoanSubletApply> page = PagerUtil.queryToPage(pq);
// LoanSubletApplyQuery pagerQuery = pq.getParams();
// QueryWrapper<LoanSubletApply> 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("a.orgSidPath", orgSidPath);
// } else if ("2".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i2);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("3".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i3);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("4".equals(orgLevelKey)) {
// orgSidPath = orgSidPath.substring(0, i4);
// qw.like("a.orgSidPath", orgSidPath);
// } else if ("5".equals(orgLevelKey)) {
// qw.eq("a.createBySid", pagerQuery.getUserSid());
// } else {
// PagerVo<LoanSubletApplyVo> p = new PagerVo<>();
// return p;
// }
// } else {
// PagerVo<LoanSubletApplyVo> p = new PagerVo<>();
// return p;
// }
// //=======================
// //分公司
// if (StringUtils.isNotBlank(pagerQuery.getCompany())) {
// qw.like("a.company", pagerQuery.getCompany());
// }
// //申请人
// if (StringUtils.isNotBlank(pagerQuery.getApplyName())) {
// qw.like("a.applyName", pagerQuery.getApplyName());
// }
// //申请部门
// if (StringUtils.isNotBlank(pagerQuery.getDept())) {
// qw.like("a.dept", pagerQuery.getDept());
// }
// //消贷合同号
// if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
// qw.like("a.loanContractNo", pagerQuery.getLoanContractNo());
// }
// //资方
// if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
// qw.like("a.bankName", pagerQuery.getBankName());
// }
// //资方合同号
// if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
// qw.like("a.bankContractNo", pagerQuery.getBankContractNo());
// }
// //客户名称
// if (StringUtils.isNotBlank(pagerQuery.getCustomer())) {
// qw.like("a.customer", pagerQuery.getCustomer());
// }
// //贷款人
// if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
// qw.like("a.borrowerName", pagerQuery.getBorrowerName());
// }
// //车架号
// if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
// qw.like("a.vinNo", pagerQuery.getVinNo());
// }
// //车牌号
// if (StringUtils.isNotBlank(pagerQuery.getVehMark())) {
// qw.like("a.vehMark", pagerQuery.getVehMark());
// }
// //车架号
// if (StringUtils.isNotBlank(pagerQuery.getAgree())) {
// qw.like("a.agree", pagerQuery.getAgree());
// }
// String applyStartTime = pagerQuery.getApplyStartDate();
// String applyEndTime = pagerQuery.getApplyEndDate();
// qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (a.applyDate,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(applyEndTime), "date_format (a.applyDate,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')"
// );
// String closingStartDate = pagerQuery.getClosingStartDate();
// String closingEndDate = pagerQuery.getClosingEndDate();
// qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (a.closingDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')").
// apply(StringUtils.isNotEmpty(closingEndDate), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')"
// );
// qw.eq("a.isDelete", 0);
// qw.orderByDesc("a.applyDate");
// qw.apply("(a.count > 1 AND a.vehType = '主车' ) OR (a.count = 1)");
// IPage<LoanSubletApplyVo> pagging = baseMapper.listPage(page, qw);
// PagerVo<LoanSubletApplyVo> p = PagerUtil.pageToVo(pagging, null);
// return p;
}
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> saveOutbound(LoanOutboundApplyDto dto) {
ResultBean rb = ResultBean.fireFail();
LoanOutboundApply entity = new LoanOutboundApply();
BeanUtil.copyProperties(dto, entity, "id", "sid");
List<OutboundVinListDto> vinList = dto.getVinList();
if (!vinList.isEmpty()) {
vinList.stream().forEach(v -> {
LoanOutboundVeh loanOutboundVeh = new LoanOutboundVeh();
BeanUtil.copyProperties(v, loanOutboundVeh, "id", "sid");
loanOutboundVeh.setMainSid(entity.getSid());
loanOutboundVehService.insert(loanOutboundVeh);
});
}
return rb.success().setData(entity.getSid());
}
@Transactional(rollbackFor = Exception.class)
public ResultBean<String> updateOutbound(LoanUpdateApplyDto dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = "";
// if (StringUtils.isNotBlank(dto.getSid())) {
// sid = dto.getSid();
// LoanSubletApply updateEntity = fetchBySid(sid);
// if (null != updateEntity) {
// BeanUtil.copyProperties(dto, updateEntity, "id", "sid");
// baseMapper.updateById(updateEntity);
// loanSubletVehService.deleteByMainSid(sid);
// //删除附件表中关于该linkSid的文件
// loanFileService.deleteByLinkSid(sid);
// List<LoanSubletApplyFile> filess = dto.getFiles();
// if (!filess.isEmpty()) {
// List<String> files = new ArrayList<>();
// for (LoanSubletApplyFile file : filess) {
// files.add(file.getUrl());
// }
// loanFileService.saveAll(sid, files, LoanFileEnum.SUBLETAPPLY.getAttachType());
// }
// List<SubletVinList> vinList = dto.getVinList();
// if (!vinList.isEmpty()) {
// for (SubletVinList record : vinList) {
// LoanSubletVeh subletVeh = new LoanSubletVeh();
// BeanUtil.copyProperties(record, subletVeh, "id", "sid");
// subletVeh.setMainSid(sid);
// loanSubletVehService.insert(subletVeh);
// }
// }
// }
// } else {
// LoanSubletApply apply = new LoanSubletApply();
// sid = apply.getSid();
// BeanUtil.copyProperties(dto, apply, "id", "sid");
// apply.setCreateBySid(dto.getUserSid());
// apply.setOrgSidPath(dto.getOrgPath());
// ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(dto.getOrgPath());
// if (orgSidByPath.getSuccess()) {
// String userOrgSid = orgSidByPath.getData();
// apply.setUseOrgSid(userOrgSid);
// ResultBean<SysOrganizationVo> organizationVo = sysOrganizationFeign.fetchBySid(userOrgSid);
// if (organizationVo.getSuccess()) {
// SysOrganizationVo organizationVoData = organizationVo.getData();
// if (null != organizationVoData) {
// apply.setUseOrgName(organizationVoData.getName());
// }
// }
// }
// apply.setNodeState("待提交");
// baseMapper.insert(apply);
// List<SubletVinList> vinList = dto.getVinList();
// if (!vinList.isEmpty()) {
// for (SubletVinList record : vinList) {
// LoanSubletVeh subletVeh = new LoanSubletVeh();
// BeanUtil.copyProperties(record, subletVeh, "id", "sid");
// subletVeh.setMainSid(sid);
// loanSubletVehService.insert(subletVeh);
// }
// }
// //删除附件表中关于该linkSid的文件
// loanFileService.deleteByLinkSid(sid);
// List<LoanSubletApplyFile> filess = dto.getFiles();
// if (!filess.isEmpty()) {
// List<String> files = new ArrayList<>();
// for (LoanSubletApplyFile file : filess) {
// files.add(file.getUrl());
// }
// loanFileService.saveAll(sid, files, LoanFileEnum.SUBLETAPPLY.getAttachType());
// }
// }
return rb.success().setData(sid);
}
public ResultBean<LoanOutboundApplyInit> outboundDetails(String sid) {
ResultBean rb = ResultBean.fireFail();
LoanOutboundApplyInit vo = new LoanOutboundApplyInit();
// LoanSubletApply entity = fetchBySid(sid);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// if (null != entity) {
// BeanUtil.copyProperties(entity, vo);
// if (null != entity.getApplyDate()) {
// vo.setApplyDate(sdf.format(entity.getApplyDate()));
// }
// if (StringUtils.isNotBlank(entity.getProcInstId())) {
// vo.setInstanceId(entity.getProcInstId());
// }
// if (StringUtils.isNotBlank(entity.getCreateBySid())) {
// vo.setUserSid(entity.getCreateBySid());
// }
// if (StringUtils.isNotBlank(entity.getOrgSidPath())) {
// vo.setOrgPath(entity.getOrgSidPath());
// }
// List<SubletVinList> vinLists = loanSubletVehService.selByMainSid(sid);
// if (!vinLists.isEmpty()) {
// vo.setVinList(vinLists);
// }
// List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.SUBLETAPPLY.getAttachType());
// fileList.removeAll(Collections.singleton(null));
// if (!fileList.isEmpty()) {
// List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
// collect(Collectors.toList());
// List<LoanSubletApplyFile> applyFiles = new ArrayList<>();
// for (String file : files) {
// LoanSubletApplyFile applyFile = new LoanSubletApplyFile();
// applyFile.setUrl(file);
// applyFiles.add(applyFile);
// }
// vo.setFiles(applyFiles);
// }
// }
return rb.success().setData(vo);
}
//-------------------------------------流程------------------------------------------------/
/**
* 判断提交的流程是否被允许
*
* @param dto
* @return
*/
private synchronized int submitBusinessData(SubmitOutboundDto dto, LoanOutboundApply loanOutboundApply) {
int r = 0;
if (StringUtils.isBlank(dto.getSid())) {
r = 1;
} else {
if (loanOutboundApply != null) {
String businessTaskId = loanOutboundApply.getTaskId();
if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) {
//新提交
r = 1;
} else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) {
//二次提交//只有数据一致的时候才能进行下一步
r = 2;
}
} else {
r = 3;
}
}
return r;
}
/**
* 更新流程相关的状态
*
* @param map
* @return
*/
private int updateFlowFiled(Map<String, Object> map) {
return baseMapper.updateFlowFiled(map);
}
public ResultBean submitRecordApplication(SubmitOutboundDto dto) {
ResultBean rb = ResultBean.fireFail();
// LoanSubletApply loanSubletApply = fetchBySid(dto.getSid());
// int r = submitBusinessData(dto, loanSubletApply);
// if (r == 3) {
// return rb.setMsg("该申请不存在");
// }
// if (r == 0) {
// return rb.setMsg("操作失败!提交的数据不一致");
// }
// List<SubletVinList> dtoVinList = dto.getVinList();
// if (!dtoVinList.isEmpty()) {
// for (SubletVinList v : dtoVinList) {
// VehDisposal vehDisposal = baseMapper.selVehDisposal(v.getLedgerSid());
// if (null != vehDisposal) {
// if (!vehDisposal.getDisposal().equals("未处置")) {
// return rb.setMsg("当前所选车辆不是未处置状态,无法提交!");
// }
// }
// }
// }
// String businessSid = "";
// //新增修改保存
// ResultBean<String> resultBean = saveSublet(dto);
// if (resultBean.getSuccess()) {
// businessSid = resultBean.getData();
// } else {
// return rb.setMsg(resultBean.getMsg());
// }
// //提交之后修改车辆台账
// List<SubletVinList> vinLists1 = loanSubletVehService.selByMainSid(businessSid);
// if (!vinLists1.isEmpty()) {
// vinLists1.stream().forEach(v -> {
// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "04", "二次转租");
// });
// }
// LoanSubletApply entity = fetchBySid(businessSid);
// String orgSidPath = "";
// if (StringUtils.isNotBlank(entity.getOrgSidPath())) {
// orgSidPath = entity.getOrgSidPath();
// } else {
// SysUserVo data = sysUserFeign.fetchBySid(entity.getCreateBySid()).getData();
// if (null != data) {
// //根据staffSid获取用户的组织全路径
// ResultBean<SysStaffOrg> staffOrgResultBean = sysStaffOrgFeign.getOrgByStaffSid(data.getStaffSid());
// if (!staffOrgResultBean.getSuccess()) {
// return rb.setMsg(staffOrgResultBean.getMsg());
// }
// //用户的组织全路径
// orgSidPath = staffOrgResultBean.getData().getOrgSidPath();
// }
// }
// List<String> orgPathList = Arrays.asList(orgSidPath.split("/"));
// SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(orgPathList.get(orgPathList.size() - 1)).getData();
// if (sysOrganization == null) {
// return rb.setMsg("当前所在的组织机构不存在");
// }
// if (StringUtils.isBlank(sysOrganization.getManagerSid())) {
//// return rb.setMsg("当前所在的组织机构未设置主管人员");
// sysOrganization.setManagerSid(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
// }
// //创建BusinessVariables实体对象
// BusinessVariables bv = new BusinessVariables();
// //流程中的参数赋值
// Map<String, Object> variables = BeanUtil.beanToMap(dto);
// Map<String, Object> appMap = new HashMap<>();
// //若有网关,则赋值网关中判断的字段。
//// boolean isTure = true;
//// //去查询是否同意
//// if (StringUtils.isNotBlank(entity.getSalesUserSid())) {
//// if (!entity.getCreateBySid().equals(entity.getSalesUserSid())) {
//// isTure = false;
//// }
//// }
//// variables.put("isTure", isTure);
// variables.put("businessSid", businessSid);
// appMap.put("sid", businessSid);
// variables.put("app", appMap);
//// String orderNames = "<" + entity.getCustomer() + ">" + "欠款客户备案";
//// variables.put("orderNames", orderNames);
// LoanSubletApply loanSubletApply1 = fetchBySid(businessSid);
// String msgBusinessSid = loanSubletApply1.getSid();
// //用户的部门全路径sid
// bv.setOrgSidPath(loanSubletApply1.getOrgSidPath());
// //业务sid
// bv.setBusinessSid(businessSid);
// //用户sid
// bv.setUserSid(dto.getUserSid());
// bv.setFormVariables(variables);
// String nextNodeUserSids_ = sysOrganization.getManagerSid();
// bv.setNextNodeUserSids(nextNodeUserSids_);
//// if (isTure) {
//// bv.setNextNodeUserSids(nextNodeUserSids_);
//// } else {
//// bv.setNextNodeUserSids(entity.getSalesUserSid());
//// }
// //流程定义id
// bv.setModelId(ProcDefEnum.LOANSUBLETAPPLY.getProDefId());
// if (r == 1) {
// //流程定义id
// bv.setModelId(ProcDefEnum.LOANSUBLETAPPLY.getProDefId());
// ResultBean<UpdateFlowFieldVo> voResultBean = flowFeign.startProcess(bv);
// if (!voResultBean.getSuccess()) {
// return rb.setMsg(voResultBean.getMsg());
// }
// UpdateFlowFieldVo ufVo = voResultBean.getData();
// int i = updateFlowFiled(BeanUtil.beanToMap(ufVo));
// //==================================添加线程
// try {
// ThreadFactory namedThreadFactory = new ThreadFactoryBuilder()
// .setNameFormat("demo-pool-%d").build();
// ExecutorService pool = new ThreadPoolExecutor(2, 100,
// 0L, TimeUnit.MILLISECONDS,
// new LinkedBlockingQueue<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
// Future future1 = pool.submit(() -> {
// //极光推送
// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
// MessageFlowVo messageFlowVo = new MessageFlowVo();
// BeanUtil.copyProperties(ufVo, messageFlowVo);
// messageFlowableQuery.setUfVo(messageFlowVo);
// messageFlowableQuery.setAppMap(appMap);
// messageFlowableQuery.setBusinessSid(msgBusinessSid);
// messageFlowableQuery.setModuleName("交回车辆二次转租申请");
// SysUserVo userVo = sysUserFeign.fetchBySid(loanSubletApply1.getCreateBySid()).getData();
// if (userVo != null) {
// if (StringUtils.isNotBlank(userVo.getName())) {
// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
// }
// }
// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请");
// ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
// });
// } catch (Exception e) {
// e.printStackTrace();
// }
// //==================================添加线程
// return voResultBean;
// }
// if (r == 2) {
// // ToDo:驳回到发起人后再次提交
// if (StringUtils.isBlank(dto.getInstanceId())) {
// return rb.setMsg("参数错误:instanceId");
// }
// LoanSubletApply loanSubletApply2 = fetchBySid(dto.getSid());
// bv.setTaskId(dto.getTaskId());
// bv.setTaskDefKey(loanSubletApply2.getNodeSid());
// bv.setComment("重新提交");
// bv.setInstanceId(dto.getInstanceId());
// return complete(bv);
// }
return rb;
}
public ResultBean complete(BusinessVariables bv) {
ResultBean rb = ResultBean.fireFail();
return null;
// String businessSid = bv.getBusinessSid();
// LoanSubletApply loanSubletApply = this.fetchBySid(businessSid);
// if (bv.getTaskId().equals(loanSubletApply.getTaskId())) {
// bv.setOrgSidPath(loanSubletApply.getOrgSidPath());
// //流程中的参数赋值
// Map<String, Object> variables = new HashMap<>();
// Map<String, Object> appMap = new HashMap<>();
// //若有网关,则赋值网关中判断的字段。
//// boolean isTure = true;
//// //去查询是否同意
//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
//// isTure = false;
//// }
//// }
//// variables.put("isTure", isTure);
//// if (bv.getTaskDefKey().equals("Activity_1078xxs")) {
//// if (StringUtils.isNotBlank(loanCustomerRecord.getManageSid())) {
//// bv.setNextNodeUserSids(loanCustomerRecord.getManageSid());
//// } else {
//// bv.setNextNodeUserSids(ProcDefEnum.DEFAUL_TADMIN_SID.getProDefId());
//// }
//// }
// variables.put("businessSid", businessSid);
// appMap.put("sid", businessSid);
// variables.put("app", appMap);
// bv.setFormVariables(variables);
// ResultBean<UpdateFlowFieldVo> resultBean = flowFeign.handleProsess(bv);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// UpdateFlowFieldVo ufVo = resultBean.getData();
// int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
// if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
// LoanSubletApply subletApply = fetchBySid(businessSid);
// subletApply.setClosingDate(new DateTime());
// baseMapper.updateById(subletApply);
// //todo 修改交车车辆台账状态
// } else {
// //极光推送
// loanSubletApply = fetchBySid(businessSid);
// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
// MessageFlowVo messageFlowVo = new MessageFlowVo();
// BeanUtil.copyProperties(ufVo, messageFlowVo);
// messageFlowVo.setProcDefId(loanSubletApply.getProcDefId());
// messageFlowVo.setProcInsId(loanSubletApply.getProcInstId());
// messageFlowableQuery.setUfVo(messageFlowVo);
// messageFlowableQuery.setAppMap(appMap);
// messageFlowableQuery.setBusinessSid(businessSid);
// messageFlowableQuery.setModuleName("交回车辆二次转租申请");
// messageFlowableQuery.setMsgContent(loanSubletApply.getApplyName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请");
// ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
// }
// return rb.success().setData(resultBean.getData());
// } else {
// return rb.setMsg("操作失败!提交的数据不一致");
// }
}
/**
* 撤回
*
* @param query
* @return
*/
public ResultBean revokeProcess(OutboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
// if (StringUtils.isBlank(query.getUserSid())) {
// return rb.setMsg("参数错误:userSid");
// }
// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid());
// String businessTaskId = loanSubletApply.getTaskId();
// if (StringUtils.isNotBlank(businessTaskId)) {
// if (businessTaskId.equals(query.getTaskId())) {
// FlowTaskVo flowTaskVo = new FlowTaskVo();
// BeanUtil.copyProperties(query, flowTaskVo);
// ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.revokeProcess(flowTaskVo);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
// loanSubletApply = fetchBySid(query.getBusinessSid());
// String procId = loanSubletApply.getProcInstId();
// ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
// String nextName = listResultBean.getData().get(0).getName_();
// List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
// if ("发起申请".equals(nextName)) {
// //退回车辆处置状态
// List<SubletVinList> vinLists1 = loanSubletVehService.selByMainSid(query.getBusinessSid());
// if (!vinLists1.isEmpty()) {
// vinLists1.stream().forEach(v -> {
// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置");
// });
// }
// }
// return rb.success().setData(resultBean.getData());
// }
// }
return rb.setMsg("操作失败,提交的数据不一致!");
}
public ResultBean taskReject(OutboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
// String businessSid = query.getBusinessSid();
// LoanSubletApply loanSubletApply = fetchBySid(businessSid);
// if (loanSubletApply == null) {
// return rb.setMsg("该申请不存在");
// }
// String businessTaskId = loanSubletApply.getTaskId();
// if (StringUtils.isNotBlank(businessTaskId)) {
// if (businessTaskId.equals(query.getTaskId())) {
// if (StringUtils.isBlank(query.getComment())) {
// return rb.setMsg("请填写意见");
// }
// if (StringUtils.isBlank(query.getUserSid())) {
// return rb.setMsg("参数错误:userSid");
// }
// FlowTaskVo flowTaskVo = new FlowTaskVo();
// BeanUtil.copyProperties(query, flowTaskVo);
// Map<String, Object> variables = new HashMap<>();
// Map<String, Object> appMap = new HashMap<>();
// appMap.put("sid", businessSid);
// variables.put("app", appMap);
// //若有网关,则赋值网关中判断的字段。
//// boolean isTure = true;
//// //去查询是否同意
//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
//// isTure = false;
//// }
//// }
//// variables.put("isTure", isTure);
// flowTaskVo.setValues(variables);
// ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.taskReject(flowTaskVo);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// UpdateFlowFieldVo ufVo = resultBean.getData();
// Map<String, Object> map = BeanUtil.beanToMap(ufVo);
// //更新业务中的流程相关的参数
// updateFlowFiled(map);
// //极光推送
// loanSubletApply = fetchBySid(businessSid);
// MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery();
// MessageFlowVo messageFlowVo = new MessageFlowVo();
// BeanUtil.copyProperties(ufVo, messageFlowVo);
// String procId = loanSubletApply.getProcInstId();
// messageFlowVo.setProcInsId(procId);
// messageFlowVo.setProcDefId(loanSubletApply.getProcDefId());
// messageFlowableQuery.setUfVo(messageFlowVo);
// messageFlowableQuery.setAppMap(appMap);
// messageFlowableQuery.setBusinessSid(businessSid);
// messageFlowableQuery.setModuleName("交回车辆二次转租申请");
// ResultBean<List<LatestTaskVo>> listResultBean = flowTaskFeign.getLatestTasks(procId);
// String nextName = listResultBean.getData().get(0).getName_();
// String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_();
// List<String> receiveSidList = Arrays.asList(nextNodeUserSids.split(","));
//// if (receiveSidList.size() == 1 && receiveSidList.get(0).equals(busVehicleApply.getCreateBySid())) {
// if ("发起申请".equals(nextName)) {
// messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交");
// //退回车辆处置状态
// List<SubletVinList> vinLists1 = loanSubletVehService.selByMainSid(businessSid);
// if (!vinLists1.isEmpty()) {
// vinLists1.stream().forEach(v -> {
// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置");
// });
// }
// } else {
// SysUserVo userVo = sysUserFeign.fetchBySid(loanSubletApply.getCreateBySid()).getData();
// if (userVo != null) {
// if (StringUtils.isNotBlank(userVo.getName())) {
// messageFlowableQuery.setMsgContent(userVo.getName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批");
// }
// }
// }
// messageFlowableQuery.setMsgTitle("交回车辆二次转租申请");
// ResultBean<String> stringResultBean = messageFeign.pushMessage(messageFlowableQuery);
// return rb.success();
// }
// }
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean breakProcess(OutboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
if (StringUtils.isBlank(query.getInstanceId())) {
return rb.setMsg("参数错误:instanceId");
}
if (StringUtils.isBlank(query.getUserSid())) {
return rb.setMsg("参数错误:userSid");
}
if (StringUtils.isBlank(query.getComment())) {
return rb.setMsg("请填写意见");
}
// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid());
// String businessTaskId = loanSubletApply.getTaskId();
// if (StringUtils.isNotBlank(businessTaskId)) {
// if (query.getUserSid().equals(loanSubletApply.getCreateBySid())) {
// FlowTaskVo flowTaskVo = new FlowTaskVo();
// BeanUtil.copyProperties(query, flowTaskVo);
// ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
// updateFlowFiled(map);
// //终止任务后操作
// LoanSubletApply entity = fetchBySid(query.getBusinessSid());
// if (entity.getNodeState().equals("终止")) {
// // 修改交回车辆台账状态
// List<SubletVinList> vinLists = loanSubletVehService.selByMainSid(query.getBusinessSid());
// if (!vinLists.isEmpty()) {
// vinLists.stream().forEach(v -> {
// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置");
// });
// }
//
// }
// return rb.success().setData(resultBean.getData());
// } else {
// if (businessTaskId.equals(query.getTaskId())) {
// FlowTaskVo flowTaskVo = new FlowTaskVo();
// BeanUtil.copyProperties(query, flowTaskVo);
// ResultBean<UpdateFlowFieldVo> resultBean = flowableFeign.breakProcess(flowTaskVo);
// if (!resultBean.getSuccess()) {
// return rb.setMsg(resultBean.getMsg());
// }
// Map<String, Object> map = BeanUtil.beanToMap(resultBean.getData());
// updateFlowFiled(map);
// //终止任务后操作
// LoanSubletApply entity = fetchBySid(query.getBusinessSid());
// if (entity.getNodeState().equals("终止")) {
// // 修改交回车辆台账状态
// List<SubletVinList> vinLists = loanSubletVehService.selByMainSid(query.getBusinessSid());
// if (!vinLists.isEmpty()) {
// vinLists.stream().forEach(v -> {
// loanRedemptionApplyService.updateVehLedgerDisposal(v.getLedgerSid(), "01", "未处置");
// });
// }
// }
// return rb.success().setData(resultBean.getData());
// }
// }
//
// }
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean flowRecord(String procInsId) {
return flowTaskFeign.businessFlowRecord(procInsId);
}
public ResultBean<List<OutboundGetNodeVo>> getNextNodesForSubmit(OutboundGetNodeQuery query) {
// ResultBean<List<OutboundGetNodeVo>> rb = ResultBean.fireFail();
// BusinessVariables bv = new BusinessVariables();
// BeanUtil.copyProperties(query, bv);
// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
// Map<String, Object> variables = new HashMap<>();
//
// //根据业务sid查询排产信息
// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid());
// //若有网关,则赋值网关中判断的字段。
//// boolean isTure = true;
//// //去查询是否同意
//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
//// isTure = false;
//// }
//// }
//// variables.put("isTure", isTure);
// bv.setFormVariables(variables);
// bv.setModelId(loanSubletApply.getProcDefId());
// ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv);
// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
// List<OutboundGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OutboundGetNodeVo.class)).collect(Collectors.toList());
// return rb.success().setData(voList);
return null;
}
public ResultBean<List<OutboundGetNodeVo>> getPreviousNodesForReject(OutboundGetNodeQuery query) {
return null;
// ResultBean<List<SubletGetNodeVo>> rb = ResultBean.fireFail();
// BusinessVariables bv = new BusinessVariables();
// BeanUtil.copyProperties(query, bv);
// //流程中的参数赋值、若有网关,则赋值网关中判断的字段。
// Map<String, Object> variables = new HashMap<>();
// //根据业务sid查询排产信息
// LoanSubletApply loanSubletApply = fetchBySid(query.getBusinessSid());
//// //若有网关,则赋值网关中判断的字段。
//// boolean isTure = true;
//// //去查询是否同意
//// if (StringUtils.isNotBlank(loanCustomerRecord.getSalesUserSid())) {
//// if (!loanCustomerRecord.getCreateBySid().equals(loanCustomerRecord.getSalesUserSid())) {
//// isTure = false;
//// }
//// }
//// variables.put("isTure", isTure);
// bv.setFormVariables(variables);
// bv.setModelId(loanSubletApply.getProcDefId());
// ResultBean<List<Map<String, Object>>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv);
// //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给getNodeVo
// List<SubletGetNodeVo> voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), SubletGetNodeVo.class)).collect(Collectors.toList());
// return rb.success().setData(voList);
}
public ResultBean delegate(OutboundDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
public ResultBean<AppOutboundDetailsVo> appDetail(String sid) {
ResultBean<AppOutboundDetailsVo> rb = ResultBean.fireFail();
AppOutboundDetailsVo vo = new AppOutboundDetailsVo();
// LoanSubletApply entity = fetchBySid(sid);
// SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
// if (null != entity) {
// vo.setSid(sid);
// String dept = "";
// String applyName = "";
// //----------------------------------------------------
// if (StringUtils.isNotBlank(entity.getBorrowerName())) {
// vo.setBorrName(entity.getBorrowerName());
// }
// if (StringUtils.isNotBlank(entity.getCustomer())) {
// vo.setCustName(entity.getCustomer());
// }
// if (StringUtils.isNotBlank(entity.getVinOwner())) {
// vo.setVinOwner(entity.getVinOwner());
// }
// if (StringUtils.isNotBlank(entity.getCustomerType())) {
// vo.setCustomerType(entity.getCustomerType());
// }
// if (StringUtils.isNotBlank(entity.getPhoneNum())) {
// vo.setPhoneNum(entity.getPhoneNum());
// }
// if (StringUtils.isNotBlank(entity.getCertificateType())) {
// vo.setCertificateType(entity.getCertificateType());
// }
// if (StringUtils.isNotBlank(entity.getEndDate())) {
// vo.setEndDate(entity.getEndDate());
// }
// if (null != entity.getAgree()) {
// vo.setAgree(entity.getAgree().toString());
// }
// if (StringUtils.isNotBlank(entity.getIdNumber())) {
// vo.setIdNumber(entity.getIdNumber());
// }
// if (StringUtils.isNotBlank(entity.getCardAddress())) {
// vo.setCardAddress(entity.getCardAddress());
// }
// if (StringUtils.isNotBlank(entity.getBankName())) {
// vo.setBankName(entity.getBankName());
// }
// if (StringUtils.isNotBlank(entity.getBankContractNo())) {
// vo.setBankContractNo(entity.getBankContractNo());
// }
// if (StringUtils.isNotBlank(entity.getPlan())) {
// vo.setPlan(entity.getPlan());
// }
// if (null != entity.getAmount()) {
// vo.setAmount(entity.getAmount().toString());
// }
// //----------------------------------------------------
// if (StringUtils.isNotBlank(entity.getProcInstId())) {
// vo.setProcInsId(entity.getProcInstId());
// }
// if (StringUtils.isNotBlank(entity.getTaskId())) {
// vo.setTaskId(entity.getTaskId());
// }
// if (null != entity.getApplyDate()) {
// vo.setTime(sdf.format(entity.getApplyDate()));
// }
// if (StringUtils.isNotBlank(entity.getDept())) {
// dept = entity.getDept();
// }
// if (StringUtils.isNotBlank(entity.getApplyName())) {
// applyName = entity.getApplyName();
// }
// vo.setPublishInfo(dept + "-" + applyName);
// List<LoanFile> fileList = loanFileService.selectByLinkSid(sid, LoanFileEnum.SUBLETAPPLY.getAttachType());
// fileList.removeAll(Collections.singleton(null));
// if (!fileList.isEmpty()) {
// List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
// collect(Collectors.toList());
// vo.setFiles(files);
// }
// List<AppSubletVinListVo> vinList = new ArrayList<>();
// List<SubletVinList> vinLists = loanSubletVehService.selByMainSid(sid);
// if (!vinLists.isEmpty()) {
// vinLists.stream().forEach(v -> {
// AppSubletVinListVo appVinListVo = new AppSubletVinListVo();
// if (StringUtils.isNotBlank(v.getVinNo())) {
// appVinListVo.setVinNo(v.getVinNo());
// }
// if (StringUtils.isNotBlank(v.getVehModel())) {
// appVinListVo.setModel(v.getVehModel());
// }
// if (StringUtils.isNotBlank(v.getVehType())) {
// appVinListVo.setVehType(v.getVehType());
// }
// if (StringUtils.isNotBlank(v.getVehMark())) {
// appVinListVo.setVehMark(v.getVehMark());
// }
// vinList.add(appVinListVo);
// });
// vo.setVinList(vinList);
// }
// }
return rb.success().setData(vo);
}
}

19
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java

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

22
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml

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

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehRest.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.biz.loanoutboundveh;
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVehFeign;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVehFeign;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "交回车辆出库车辆列表")
@RestController
@RequestMapping("v1/loanoutboundveh")
public class LoanOutboundVehRest implements LoanOutboundVehFeign {
}

27
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java

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

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java

@ -749,10 +749,10 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
String word = new String(); String word = new String();
switch (i) { switch (i) {
case 0: case 0:
word = "客户编码"; word = "财务中客户编码";
break; break;
case 1: case 1:
word = "客户名称"; word = "财务中客户名称";
break; break;
case 2: case 2:
word = "车架号"; word = "车架号";
@ -785,6 +785,9 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
if (StringUtils.isBlank(excelFinVo.getTiredDeficiency())) { if (StringUtils.isBlank(excelFinVo.getTiredDeficiency())) {
checkWord.add("财务累欠金额不能为空"); checkWord.add("财务累欠金额不能为空");
} }
if(!excelFinVo.getCustomerName().contains(excelFinVo.getVinNo())){
checkWord.add("财务中客户名称"+excelFinVo.getCustomerName()+"不正确,请检查");
}
List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanOverdueFinDetailsService.selectByCustomerNo(excelFinVo.getCustomerNo(), useOrgSid); List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanOverdueFinDetailsService.selectByCustomerNo(excelFinVo.getCustomerNo(), useOrgSid);
loanRepaymentScheduleDetailsVos.removeAll(Collections.singleton(null)); loanRepaymentScheduleDetailsVos.removeAll(Collections.singleton(null));
if (loanRepaymentScheduleDetailsVos.isEmpty()) { if (loanRepaymentScheduleDetailsVos.isEmpty()) {

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

@ -79,7 +79,9 @@
v.busVinSid, v.busVinSid,
l.bankContractNo, l.bankContractNo,
l.loanContractNo, l.loanContractNo,
l.bankName l.bankName,
v.customerSid,
v.borrowerSid
FROM loan_return_veh_ledger as v FROM loan_return_veh_ledger as v
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b ON v.busVinSid = b.sid LEFT JOIN anrui_buscenter.bus_sales_order_vehicle as b ON v.busVinSid = b.sid
LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as l ON l.sid = b.loanContractSid LEFT JOIN anrui_buscenter.bus_sales_order_loancontract as l ON l.sid = b.loanContractSid

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

@ -34,4 +34,6 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper<LoanRepaymentSch
LoanRepaymentSchedule selByLoanContractSid(@Param("loanContractSid") String loanContractSid); LoanRepaymentSchedule selByLoanContractSid(@Param("loanContractSid") String loanContractSid);
List<LoanRepaymentHistory> selHistoryBySid(@Param("sid") String sid); List<LoanRepaymentHistory> selHistoryBySid(@Param("sid") String sid);
OtherPolicyVo selOtherPolicyByOrderSid(@Param("salesOrderSid") String salesOrderSid);
} }

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

@ -64,4 +64,15 @@
FROM loan_repayment_history FROM loan_repayment_history
WHERE scheduleSid = #{sid} WHERE scheduleSid = #{sid}
</select> </select>
<select id="selOtherPolicyByOrderSid"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.OtherPolicyVo">
SELECT fo.bankShortName as otherBankName,
fo.otherPolicyName as otherPolicyName
FROM loan_solutions AS s
LEFT JOIN loan_solutions_otherpolicy AS o ON s.sid = o.solutionsSid
LEFT JOIN loan_fin_otherpolicy AS fo ON fo.sid = o.otherPolicySid
WHERE s.salesOrderSid = #{salesOrderSid}
AND s.isDelete = 0
</select>
</mapper> </mapper>

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

@ -488,12 +488,20 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} }
//其他融 //其他融
if (scheduleDetails.getIsOtherPolicy().equals("1")) { if (scheduleDetails.getIsOtherPolicy().equals("1")) {
OtherPolicyVo otherPolicyVo = baseMapper.selOtherPolicyByOrderSid(scheduleDetails.getSalesOrderSid());
for (int i = 0; i < Integer.parseInt(otherPeriod); i++) { for (int i = 0; i < Integer.parseInt(otherPeriod); i++) {
LoanRepaymentPlanDetailsDto otherDto = new LoanRepaymentPlanDetailsDto(); LoanRepaymentPlanDetailsDto otherDto = new LoanRepaymentPlanDetailsDto();
otherDto.setSalesOrderSid(salesOrderSid); otherDto.setSalesOrderSid(salesOrderSid);
otherDto.setLoanContractNo(loanContractNo); otherDto.setLoanContractNo(loanContractNo);
otherDto.setLoanContractSid(loanContractSid); otherDto.setLoanContractSid(loanContractSid);
otherDto.setPolicyName(policyName); if (null != otherPolicyVo) {
if (StringUtils.isNotBlank(otherPolicyVo.getOtherPolicyName())) {
otherDto.setPolicyName(otherPolicyVo.getOtherPolicyName());
}
if (StringUtils.isNotBlank(otherPolicyVo.getOtherBankName())) {
otherDto.setBankName(otherPolicyVo.getOtherBankName());
}
}
otherDto.setBankContractNo(otherBankNo); otherDto.setBankContractNo(otherBankNo);
otherDto.setCreateBySid(createBySid); otherDto.setCreateBySid(createBySid);
otherDto.setCustomer(customer); otherDto.setCustomer(customer);
@ -502,7 +510,6 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
otherDto.setBorrowerName(borrowerName); otherDto.setBorrowerName(borrowerName);
otherDto.setPeriod(String.valueOf(i + 1)); otherDto.setPeriod(String.valueOf(i + 1));
otherDto.setScheduleSid(scheduleDetails.getSid()); otherDto.setScheduleSid(scheduleDetails.getSid());
otherDto.setBankName(bankName);
otherDto.setDept(dept); otherDto.setDept(dept);
otherDto.setDeptSid(deptSid); otherDto.setDeptSid(deptSid);
otherDto.setUseOrgSid(useOrgSid); otherDto.setUseOrgSid(useOrgSid);
@ -875,12 +882,20 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} }
//其他融 //其他融
if (scheduleDetails.getIsOtherPolicy().equals("1")) { if (scheduleDetails.getIsOtherPolicy().equals("1")) {
OtherPolicyVo otherPolicyVo = baseMapper.selOtherPolicyByOrderSid(scheduleDetails.getSalesOrderSid());
for (int i = 0; i < Integer.parseInt(otherPeriod); i++) { for (int i = 0; i < Integer.parseInt(otherPeriod); i++) {
LoanRepaymentPlanDetailsDto otherDto = new LoanRepaymentPlanDetailsDto(); LoanRepaymentPlanDetailsDto otherDto = new LoanRepaymentPlanDetailsDto();
otherDto.setSalesOrderSid(salesOrderSid); otherDto.setSalesOrderSid(salesOrderSid);
otherDto.setLoanContractNo(loanContractNo); otherDto.setLoanContractNo(loanContractNo);
otherDto.setLoanContractSid(loanContractSid); otherDto.setLoanContractSid(loanContractSid);
otherDto.setPolicyName(policyName); if (null != otherPolicyVo) {
if (StringUtils.isNotBlank(otherPolicyVo.getOtherPolicyName())) {
otherDto.setPolicyName(otherPolicyVo.getOtherPolicyName());
}
if (StringUtils.isNotBlank(otherPolicyVo.getOtherBankName())) {
otherDto.setBankName(otherPolicyVo.getOtherBankName());
}
}
otherDto.setBankContractNo(otherBankNo); otherDto.setBankContractNo(otherBankNo);
otherDto.setCreateBySid(createBySid); otherDto.setCreateBySid(createBySid);
otherDto.setCustomer(customer); otherDto.setCustomer(customer);
@ -889,7 +904,6 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
otherDto.setBorrowerName(borrowerName); otherDto.setBorrowerName(borrowerName);
otherDto.setPeriod(String.valueOf(i + 1)); otherDto.setPeriod(String.valueOf(i + 1));
otherDto.setScheduleSid(entity.getSid()); otherDto.setScheduleSid(entity.getSid());
otherDto.setBankName(bankName);
otherDto.setDept(dept); otherDto.setDept(dept);
otherDto.setDeptSid(deptSid); otherDto.setDeptSid(deptSid);
otherDto.setUseOrgSid(useOrgSid); otherDto.setUseOrgSid(useOrgSid);

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java

@ -30,8 +30,10 @@ import com.yxt.anrui.riskcenter.api.loanreturninboundapply.*;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.flowable.*; import com.yxt.anrui.riskcenter.api.loanreturninboundapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailer; import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailer;
import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailerDto; import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailerDto;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService; import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.anrui.riskcenter.biz.loanreturninboundtrailer.LoanReturnInboundTrailerService; import com.yxt.anrui.riskcenter.biz.loanreturninboundtrailer.LoanReturnInboundTrailerService;
import com.yxt.anrui.riskcenter.biz.loanreturnvehledger.LoanReturnVehLedgerService;
import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
@ -81,6 +83,8 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
private LoanRestoreReportApplyService loanRestoreReportApplyService; private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Autowired @Autowired
private BaseVehmodelConfigFeign baseVehmodelConfigFeign; private BaseVehmodelConfigFeign baseVehmodelConfigFeign;
@Autowired
private LoanReturnVehLedgerService loanReturnVehLedgerService;
public PagerVo<LoanReturnInboundApplyVo> listPageVo(PagerQuery<LoanReturnInboundApplyQuery> pq) { public PagerVo<LoanReturnInboundApplyVo> listPageVo(PagerQuery<LoanReturnInboundApplyQuery> pq) {
LoanReturnInboundApplyQuery query = pq.getParams(); LoanReturnInboundApplyQuery query = pq.getParams();
@ -547,7 +551,9 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
loanReturnInboundApply = fetchBySid(businessSid); loanReturnInboundApply = fetchBySid(businessSid);
loanReturnInboundApply.setCloseDate(DateUtil.today()); loanReturnInboundApply.setCloseDate(DateUtil.today());
baseMapper.updateById(loanReturnInboundApply); baseMapper.updateById(loanReturnInboundApply);
// //推送到交回车辆台账
loanReturnVehLedgerService.saveVehLedger(businessSid);
} else { } else {
//极光推送 //极光推送
loanReturnInboundApply = fetchBySid(businessSid); loanReturnInboundApply = fetchBySid(businessSid);
@ -695,6 +701,12 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
QueryWrapper<LoanReturnInboundApply> qw = new QueryWrapper<>(); QueryWrapper<LoanReturnInboundApply> qw = new QueryWrapper<>();
List<String> busVinSid = new ArrayList<>(); List<String> busVinSid = new ArrayList<>();
if (query != null) { if (query != null) {
if(StringUtils.isNotBlank(query.getVinNo())){
qw.like("la.vinNo",query.getVinNo());
}
if(StringUtils.isNotBlank(query.getVehMark())){
qw.like("la.carNum",query.getVehMark());
}
if (StringUtils.isNotBlank(query.getOrgPath())) { if (StringUtils.isNotBlank(query.getOrgPath())) {
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData(); String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
qw.eq("la.useOrgSid", useOrgSid); qw.eq("la.useOrgSid", useOrgSid);

14
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.java

@ -0,0 +1,14 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import org.apache.ibatis.annotations.Mapper;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/19
**/
@Mapper
public interface LoanReturnVehLedgerMapper extends BaseMapper<LoanReturnVehLedger> {
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml

@ -0,0 +1,4 @@
<?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.loanreturnvehledger.LoanReturnVehLedgerMapper">
</mapper>

39
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java

@ -0,0 +1,39 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailer;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.biz.loanreturninboundapply.LoanReturnInboundApplyService;
import com.yxt.anrui.riskcenter.biz.loanreturninboundtrailer.LoanReturnInboundTrailerService;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/19
**/
@Service
public class LoanReturnVehLedgerService extends MybatisBaseService<LoanReturnVehLedgerMapper, LoanReturnVehLedger> {
@Autowired
private LoanReturnInboundApplyService loanReturnInboundApplyService;
@Autowired
private LoanReturnInboundTrailerService loanReturnInboundTrailerService;
public ResultBean saveVehLedger(String businessSid) {
//查询交回入库申请办结的主车信息
LoanReturnInboundApply loanReturnInboundApply = loanReturnInboundApplyService.fetchBySid(businessSid);
LoanReturnInboundTrailer loanReturnInboundTrailer = null;
if ("是".equals(loanReturnInboundApply.getTralier())) {
//查询挂车信息
loanReturnInboundTrailer = loanReturnInboundTrailerService.selectByMainSid(businessSid);
}
//ToDo:查询该车是否已入库,若已入库则不重复入库
return null;
}
}

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

@ -9,6 +9,7 @@ import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map; import java.util.Map;
@ -38,4 +39,6 @@ public interface LoanSubletApplyMapper extends BaseMapper<LoanSubletApply> {
SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid")String ledgerSid); SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid")String ledgerSid);
VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid); VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid);
List<CustomerListVo> pickCustomer(@Param("userOrgSid") String userOrgSid);
} }

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

@ -115,7 +115,9 @@
borrowerName, borrowerName,
busVinSid, busVinSid,
vehType, vehType,
pSid pSid,
customerSid,
borrowerSid
FROM loan_return_veh_ledger FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid} WHERE sid = #{ledgerSid}
</select> </select>
@ -184,4 +186,17 @@
FROM loan_return_veh_ledger FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid} WHERE sid = #{ledgerSid}
</select> </select>
<select id="pickCustomer" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.CustomerListVo">
SELECT sid AS newCustomerSid,
`name` AS vinOwner,
customerTypeKey,
customerType,
mobile AS phoneNum,
endDate,
IDNumber AS idNumber,
certificateTypeKey,
certificateType
FROM anrui_crm.crm_customer_temp
WHERE createOrgSid = #{userOrgSid}
</select>
</mapper> </mapper>

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

@ -42,6 +42,11 @@ public class LoanSubletApplyRest implements LoanSubletApplyFeign {
return rb.success().setData(pv); return rb.success().setData(pv);
} }
@Override
public ResultBean<List<CustomerListVo>> pickCustomer(String orgPath) {
return loanSubletApplyService.pickCustomer(orgPath);
}
@Override @Override
public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) { public ResultBean<LoanSubletApplyInit> subletInit(String ledgerSid) {
return loanSubletApplyService.subletInit(ledgerSid); return loanSubletApplyService.subletInit(ledgerSid);

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

@ -219,6 +219,17 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
return p; return p;
} }
public ResultBean<List<CustomerListVo>> pickCustomer(String orgPath) {
ResultBean rb = ResultBean.fireFail();
ResultBean<String> orgSidByPath = sysStaffOrgFeign.getOrgSidByPath(orgPath);
String userOrgSid = "";
if (orgSidByPath.getSuccess()) {
userOrgSid = orgSidByPath.getData();
}
List<CustomerListVo> listVos = baseMapper.pickCustomer(userOrgSid);
return rb.success().setData(listVos);
}
public PagerVo<SubletVinListVo> getVinList(PagerQuery<SubletVinListQuery> pq) { public PagerVo<SubletVinListVo> getVinList(PagerQuery<SubletVinListQuery> pq) {
IPage<SubletVinListVo> page = PagerUtil.queryToPage(pq); IPage<SubletVinListVo> page = PagerUtil.queryToPage(pq);
SubletVinListQuery pagerQuery = pq.getParams(); SubletVinListQuery pagerQuery = pq.getParams();
@ -261,6 +272,12 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
if (StringUtils.isNotBlank(subletInitVo.getBorrowerName())) { if (StringUtils.isNotBlank(subletInitVo.getBorrowerName())) {
vo.setBorrowerName(subletInitVo.getBorrowerName()); vo.setBorrowerName(subletInitVo.getBorrowerName());
} }
if (StringUtils.isNotBlank(subletInitVo.getCustomerSid())) {
vo.setCustomerSid(subletInitVo.getCustomerSid());
}
if (StringUtils.isNotBlank(subletInitVo.getBorrowerSid())) {
vo.setBorrowerSid(subletInitVo.getBorrowerSid());
}
if (StringUtils.isNotBlank(subletInitVo.getVehType())) { if (StringUtils.isNotBlank(subletInitVo.getVehType())) {
vehType = subletInitVo.getVehType(); vehType = subletInitVo.getVehType();
if (vehType.equals("主车")) { if (vehType.equals("主车")) {

2
doc/databases/risk_center.sql

@ -1424,7 +1424,7 @@ CREATE TABLE `loan_return_inbound_apply`
`inboundMoney` int(32) DEFAULT NULL COMMENT '入库价', `inboundMoney` int(32) DEFAULT NULL COMMENT '入库价',
`locationName` varchar(64) DEFAULT NULL COMMENT '停放地点', `locationName` varchar(64) DEFAULT NULL COMMENT '停放地点',
`locationSid` varchar(64) DEFAULT NULL COMMENT '停放地点sid', `locationSid` varchar(64) DEFAULT NULL COMMENT '停放地点sid',
`parkFees` decimal(10, 0) DEFAULT NULL COMMENT '停车收费标准', `parkFees` varchar(500) DEFAULT NULL COMMENT '停车收费标准',
`alRepaidMoney` decimal(10, 0) DEFAULT NULL COMMENT '已还金额', `alRepaidMoney` decimal(10, 0) DEFAULT NULL COMMENT '已还金额',
`currentBeMoney` decimal(10, 0) DEFAULT NULL COMMENT '当前逾期金额', `currentBeMoney` decimal(10, 0) DEFAULT NULL COMMENT '当前逾期金额',
`wheFundOccMoney` decimal(10, 0) DEFAULT NULL COMMENT '其中资金占用费', `wheFundOccMoney` decimal(10, 0) DEFAULT NULL COMMENT '其中资金占用费',

Loading…
Cancel
Save