Browse Source

Merge remote-tracking branch 'origin/master'

zhanglei
yunuo970428 1 year ago
parent
commit
67d5237a30
  1. 8
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java
  2. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java
  3. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java
  4. 9
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java
  5. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java
  6. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java
  7. 4
      anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java
  8. 4
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java
  9. 13
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java
  10. 2
      anrui-flowable/anrui-flowable-api/src/main/java/com/yxt/anrui/flowable/api/utils/ProcDefEnum.java
  11. 9
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  12. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApply.java
  13. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyDto.java
  14. 50
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyInit.java
  15. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyQuery.java
  16. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanOutboundApplyVo.java
  17. 36
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/LoanUpdateApplyDto.java
  18. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/OutboundVinList.java
  19. 50
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundDetailsVo.java
  20. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundapply/app/AppOutboundVinListVo.java
  21. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoutboundveh/LoanOutboundVeh.java
  22. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyDto.java
  23. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyFeign.java
  24. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/ReturnAppVo.java
  25. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedger.java
  26. 65
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerDto.java
  27. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeign.java
  28. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeignFallback.java
  29. 48
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerQuery.java
  30. 47
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerVo.java
  31. 67
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml
  32. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  33. 11
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.java
  34. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyMapper.xml
  35. 1390
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundapply/LoanOutboundApplyService.java
  36. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.java
  37. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehMapper.xml
  38. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoutboundveh/LoanOutboundVehService.java
  39. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java
  40. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml
  41. 63
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java
  42. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml
  43. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.java
  44. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.xml
  45. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java
  46. 19
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyService.java
  47. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.java
  48. 34
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerMapper.xml
  49. 37
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerRest.java
  50. 184
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerService.java
  51. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.java
  52. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyMapper.xml
  53. 94
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansubletapply/LoanSubletApplyService.java
  54. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  55. 16
      anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java
  56. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDetailsVo.java
  57. 32
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/AppOutBoundVehApplyVinList.java
  58. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyDetailsVo.java
  59. 67
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyFeign.java
  60. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyFeignFallback.java
  61. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/AppOutBoundVehApplyDelegateQuery.java
  62. 46
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/AppOutBoundVehApplyTaskQuery.java
  63. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/CompleteOutBoundVehApplyDto.java
  64. 21
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/OutBoundVehApplyFlowableQuery.java
  65. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundAppVo.java
  66. 64
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeign.java
  67. 12
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeignFallback.java
  68. 25
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDelegateQuery.java
  69. 35
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDto.java
  70. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundQuery.java
  71. 45
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundTaskQuery.java
  72. 68
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/outBoundVeh/OutBoundVehApplyRest.java
  73. 157
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/outBoundVeh/OutBoundVehApplyService.java
  74. 62
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundRest.java
  75. 115
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundService.java

8
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/baseoutsourcingapplication/BaseOutsourcingApplicationService.java

@ -777,11 +777,11 @@ public class BaseOutsourcingApplicationService extends MybatisBaseService<BaseOu
if (costTitleKey.equals(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode())) {
int price = booad.getPurchasePrice().intValue();
Integer num = booad.getNum();
finPaymentrecordDto.setCost(price * num - booad.getDeposit().intValue());
finPaymentrecordDto.setAccountsReceive(price * num - booad.getDeposit().intValue());
finPaymentrecordDto.setCost(String.valueOf(price * num - booad.getDeposit().intValue()));
finPaymentrecordDto.setAccountsReceive(String.valueOf(price * num - booad.getDeposit().intValue()));
} else if (costTitleKey.equals(ManPurOrderType.CostTitle.DJ_COSTTITLE.getCode())) {
finPaymentrecordDto.setCost(booad.getDeposit().intValue());
finPaymentrecordDto.setAccountsReceive(booad.getDeposit().intValue());
finPaymentrecordDto.setCost(String.valueOf(booad.getDeposit().intValue()));
finPaymentrecordDto.setAccountsReceive(String.valueOf(booad.getDeposit().intValue()));
}
//供应商编码
String purchasingUnitSid = booad.getPurchasingUnitSid();

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleactualsales/BaseVehicleActualSalesService.java

@ -633,8 +633,8 @@ public class BaseVehicleActualSalesService extends MybatisBaseService<BaseVehicl
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(baseVehicleActualSales.getUseOrgSid());
finPaymentrecordDto.setUseOrgSid(baseVehicleActualSales.getUseOrgSid());
finPaymentrecordDto.setCost(Integer.valueOf(v.getPayAccount()));
finPaymentrecordDto.setAccountsReceive(Integer.valueOf(v.getPayAccount()));
finPaymentrecordDto.setCost(v.getPayAccount());
finPaymentrecordDto.setAccountsReceive(v.getPayAccount());
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.CK_COSTTITLE.getCode());
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.CK_COSTTITLE.getRemarks());
finPaymentrecordDto.setCostTypeKey(DictCommonEnum.costType.CG_TYPE.getCode());

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/busvehicleapply/BusVehicleApplyService.java

@ -692,8 +692,8 @@ public class BusVehicleApplyService extends MybatisBaseService<BusVehicleApplyMa
finPaymentrecordDto.setPayType(1);
finPaymentrecordDto.setCreateOrgSid(busVehicleApply.getCreateOrgSid());
finPaymentrecordDto.setUseOrgSid(busVehicleApply.getCreateOrgSid());
finPaymentrecordDto.setCost(busVehicleApply.getCurrentAmount().intValue());
finPaymentrecordDto.setAccountsReceive(busVehicleApply.getCurrentAmount().intValue());
finPaymentrecordDto.setCost(busVehicleApply.getCurrentAmount().toString());
finPaymentrecordDto.setAccountsReceive(busVehicleApply.getCurrentAmount().toString());
finPaymentrecordDto.setCostTitleKey(ManPurOrderType.CostTitle.DJ_COSTTITLE.getCode());
finPaymentrecordDto.setCostTitleValue(ManPurOrderType.CostTitle.DJ_COSTTITLE.getRemarks());
finPaymentrecordDto.setCostTypeKey(DictCommonEnum.costType.DJ_TYPE.getCode());

9
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecord.java

@ -31,6 +31,7 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -95,10 +96,14 @@ public class FinPaymentrecord extends BaseEntity {
private String receiveBank;
@ApiModelProperty("收款单位名称")
private String receiveCompany;
@ApiModelProperty(value = "实收金额")
/*@ApiModelProperty(value = "实收金额")
private Integer cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private Integer accountsReceive;*/
@ApiModelProperty(value = "实收金额")
private BigDecimal cost;
@ApiModelProperty(value = "应收金额")
private BigDecimal accountsReceive;
@ApiModelProperty(value = "业务编号")
private String busSid;

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordDto.java

@ -75,9 +75,9 @@ public class FinPaymentrecordDto implements Dto {
@ApiModelProperty("收款单位名称")
private String receiveCompany;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
@ApiModelProperty(value = "业务编号")
private String busSid;
@ApiModelProperty(value = "付款备注")

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordUpdateDto.java

@ -49,7 +49,7 @@ public class FinPaymentrecordUpdateDto implements Dto {
@ApiModelProperty("供应商编码")
private String payCode;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
}

4
anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finpaymentrecord/FinPaymentrecordVo.java

@ -79,9 +79,9 @@ public class FinPaymentrecordVo implements Vo {
@ApiModelProperty(value = "收款账号")
private String receiveBankAccount;
@ApiModelProperty(value = "实收金额")
private Integer cost;
private String cost;
@ApiModelProperty(value = "应收金额")
private Integer accountsReceive;
private String accountsReceive;
@ApiModelProperty(value = "付款凭证")
private List<String> payFiles;

4
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentapply/FinPaymentapplyService.java

@ -512,8 +512,8 @@ public class FinPaymentapplyService extends MybatisBaseService<FinPaymentapplyMa
finPaymentrecordDto.setReceiveBank(finPaymentapplyDetailVo.getBank());
//金额
if (StringUtils.isNotBlank(finPaymentapplyDetailVo.getPayAccount())) {
finPaymentrecordDto.setCost(Integer.valueOf(finPaymentapplyDetailVo.getPayAccount()));
finPaymentrecordDto.setAccountsReceive(Integer.valueOf(finPaymentapplyDetailVo.getPayAccount()));
finPaymentrecordDto.setCost(finPaymentapplyDetailVo.getPayAccount());
finPaymentrecordDto.setAccountsReceive(finPaymentapplyDetailVo.getPayAccount());
}
finPaymentrecordService.saveDto(finPaymentrecordDto);
}

13
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finpaymentrecord/FinPaymentrecordService.java

@ -89,6 +89,7 @@ import org.springframework.stereotype.Service;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigDecimal;
import java.text.NumberFormat;
import java.util.*;
import java.util.concurrent.*;
@ -339,10 +340,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
FinPaymentrecord finPaymentrecordOne = null;
if (dto.getCost() < finPaymentrecord.getAccountsReceive()) {//实收金额小于应收金额
if (new BigDecimal(dto.getCost()).compareTo(finPaymentrecord.getAccountsReceive())<0) {//实收金额小于应收金额
finPaymentrecordOne = new FinPaymentrecord();
BeanUtil.copyProperties(finPaymentrecord, finPaymentrecordOne, "sid");
finPaymentrecordOne.setAccountsReceive(finPaymentrecord.getAccountsReceive() - dto.getCost());
finPaymentrecordOne.setAccountsReceive(finPaymentrecord.getAccountsReceive().subtract(new BigDecimal(dto.getCost())));
finPaymentrecordOne.setCost(finPaymentrecordOne.getAccountsReceive());
}
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
@ -515,10 +516,10 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
}
List<ApPayBill.FPAYBILLENTRY> FPAYBILLENTRYs = new ArrayList<>();
if (finPaymentrecord.getCost() != null
&& finPaymentrecord.getCost() > 0) {
&& finPaymentrecord.getCost().compareTo(BigDecimal.ZERO)>0) {
ApPayBill.FPAYBILLENTRY fpaybillentry = new ApPayBill.FPAYBILLENTRY();
//应付金额
fpaybillentry.setFPAYTOTALAMOUNTFOR(Double.valueOf(finPaymentrecord.getCost()));
fpaybillentry.setFPAYTOTALAMOUNTFOR(finPaymentrecord.getCost().doubleValue());
//登账日期
fpaybillentry.setFPOSTDATE(DateUtil.formatDate(finPaymentrecord.getPayDate()));
//我方银行账号
@ -817,7 +818,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
dataMap.put("receiveCompany", finPaymentrecord.getReceiveCompany());
dataMap.put("receiveBank", finPaymentrecord.getReceiveBank());
dataMap.put("receiveBankAccount", finPaymentrecord.getReceiveBankAccount());
Double aDouble = Double.valueOf(finPaymentrecord.getAccountsReceive());
Double aDouble = finPaymentrecord.getAccountsReceive().doubleValue();
String s = upperCase2(aDouble);
dataMap.put("cost", finPaymentrecord.getAccountsReceive() + " " + "(" + s + ")");
//获取图片路径
@ -1003,7 +1004,7 @@ public class FinPaymentrecordService extends MybatisBaseService<FinPaymentrecord
for (int i = 0; i < sids.size(); i++) {
FinPaymentrecord finPaymentrecord = fetchBySid(sids.get(i));
BeanUtil.copyProperties(dto, finPaymentrecord, "sid");
finPaymentrecord.setCost(0);
finPaymentrecord.setCost(BigDecimal.ZERO);
baseMapper.updateById(finPaymentrecord);
//更新付款申请中的状态
FinPaymentapply finPaymentapply = finPaymentapplyService.fetchBySid(finPaymentrecord.getApplySid());

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

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

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

@ -1,5 +1,10 @@
package com.yxt.anrui.riskcenter.api.loanfile;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApplyFile;
import java.util.ArrayList;
import java.util.List;
/**
* @Author fan
* @Date 2022/11/14 22:46
@ -31,6 +36,10 @@ public enum LoanFileEnum {
RESTOREREPORT("022", "车辆交回事前报备附件"),
REDEMPTION("023", "车辆交回赎回申请附件"),
SUBLETAPPLY("024", "车辆交回二次转租申请附件"),
BUYFILES("025", "交回车辆出库车辆买卖协议"),
DELIVERYFILES("026", "交回车辆出库车辆交付确认书"),
ASSESSFILES("027", "交回车辆出库车辆完整评估照片"),
OTHERFILES("028", "交回车辆出库其他附件"),
;

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

@ -76,5 +76,6 @@ public class LoanOutboundApply extends BaseEntity {
private String phoneNum;
@ApiModelProperty("出库日期")
private Date outboundDate;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
}

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

@ -48,6 +48,8 @@ public class LoanOutboundApplyDto implements Dto {
private String newCustomerSid;
@ApiModelProperty("新客户联系电话")
private String phoneNum;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
@ApiModelProperty("处置车辆列表")
private List<OutboundVinListDto> vinList = new ArrayList<>();
}

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

@ -22,48 +22,30 @@ public class LoanOutboundApplyInit implements Vo {
private String deptSid;
private String applyName;
private String applyDate;
private String applySid; //处置申请sid
private String orgPath;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
@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("二次转租价格")
@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 remarks;
@ApiModelProperty("客户名称")
private String newCustomer;
@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<>();
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("处置方式key")
private String disposalKey;
private List<LoanOutboundApplyFile> buyFiles = new ArrayList<>(); //车辆买卖协议
private List<LoanOutboundApplyFile> deliveryFiles = new ArrayList<>(); //车辆交付确认书
private List<LoanOutboundApplyFile> assessFiles = new ArrayList<>(); //车辆完整评估照片
private List<LoanOutboundApplyFile> otherFiles = new ArrayList<>(); //其他附件
private List<OutboundVinList> vinList = new ArrayList<>();
}

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

@ -44,6 +44,8 @@ public class LoanOutboundApplyQuery implements Query {
private String vehMark;
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("原车主是否同意0是1否")
private String agree;
@ApiModelProperty("处置方式key")
private String disposalKey;
private String outStartDate; //出库日期
private String outEndDate;
}

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

@ -4,6 +4,9 @@ import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author Administrator
* @description
@ -25,12 +28,12 @@ public class LoanOutboundApplyVo implements Vo {
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 vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
@ -39,12 +42,19 @@ public class LoanOutboundApplyVo implements Vo {
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("二次转租价格")
@ApiModelProperty("出库价格")
private String amount;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("原车主是否同意0是1否")
private String agree;
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("新车主名称")
private String newCustomer;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("出库日期")
private String outboundDate;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
}

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

@ -1,8 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
@ -10,7 +14,35 @@ import lombok.Data;
*/
@Data
public class LoanUpdateApplyDto implements Dto {
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String applySid; //处置申请sid
private String orgPath;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
@ApiModelProperty("出库价格")
private String amount;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("客户名称")
private String newCustomer;
@ApiModelProperty("联系电话")
private String phoneNum;
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("处置方式key")
private String disposalKey;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
private List<LoanOutboundApplyFile> buyFiles = new ArrayList<>(); //车辆买卖协议
private List<LoanOutboundApplyFile> deliveryFiles = new ArrayList<>(); //车辆交付确认书
private List<LoanOutboundApplyFile> assessFiles = new ArrayList<>(); //车辆完整评估照片
private List<LoanOutboundApplyFile> otherFiles = new ArrayList<>(); //其他附件
private List<OutboundVinList> vinList = new ArrayList<>();
}

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

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanoutboundapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
@ -9,11 +10,16 @@ import lombok.Data;
*/
@Data
public class OutboundVinList {
private String ledgerSid;
private String vinSid;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("主车/挂车")
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
private String busVinSid;
@ApiModelProperty("存放地点")
private String location;
@ApiModelProperty("交回车辆台账sid")
private String ledgerSid;
}

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

@ -16,57 +16,35 @@ public class AppOutboundDetailsVo {
private String sid;
private String publishInfo;
private String time; //申请日期
private List<String> files = new ArrayList<>();
private List<String> buyFiles = new ArrayList<>(); //车辆买卖协议
private List<String> deliveryFiles = new ArrayList<>(); //车辆交付确认书
private List<String> assessFiles = new ArrayList<>(); //车辆完整评估照片
private List<String> otherFiles = new ArrayList<>(); //其他附件
private String taskId;
private String procInsId;
private String applySid; //处置申请sid
/**
* 本次转租金额
* 出库金额
*/
private String amount;
/**
* 资方合同号
*/
private String bankContractNo;
/**
* 资方
*/
private String bankName;
/**
* 贷款人
*/
private String borrName;
/**
* 原车主是否同意 0是 1否
*/
private String agree;
/**
* 客户名称
*/
private String custName;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
/**
* 贷款合同号
*/
private String loanContractNo;
/**
* 转租方案说明
* 备注
*/
private String plan;
private String remarks;
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("处置方式key")
private String disposalKey;
/**
* 车辆列表
*/
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;
}

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

@ -25,4 +25,8 @@ public class AppOutboundVinListVo {
* 车架号
*/
private String vinNo;
/**
* 存放地点
*/
private String location;
}

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

@ -11,8 +11,8 @@ import lombok.Data;
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "车辆二次转租车辆列表", description = "车辆二次转租车辆列表")
@TableName("loan_sublet_veh")
@ApiModel(value = "交回车辆出库车辆列表", description = "交回车辆出库车辆列表")
@TableName("loan_out_bound_veh")
@Data
public class LoanOutboundVeh extends BaseEntity {
private static final long serialVersionUID = 1L;
@ -33,5 +33,6 @@ public class LoanOutboundVeh extends BaseEntity {
private String vehModel;
@ApiModelProperty("交回车辆台账sid")
private String ledgerSid;
@ApiModelProperty("存放地点")
private String location;
}

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

@ -96,5 +96,7 @@ public class LoanReturnInboundApplyDto implements Dto {
private String orgPath;
private String userSid;
private String busVinSid;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/LoanReturnInboundApplyFeign.java

@ -76,4 +76,8 @@ public interface LoanReturnInboundApplyFeign {
@PostMapping(value = "/delegate")
public ResultBean delegate(@RequestBody ReturnInboundApplyDelegateQuery query);
@ApiOperation(value = "移动端详情")
@GetMapping(value = "/getDetailsApp")
ResultBean<ReturnAppVo> getDetailsApp(@RequestParam("sid") String sid);
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturninboundapply/ReturnAppVo.java

@ -0,0 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanreturninboundapply;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnAppVo {
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedger.java

@ -71,6 +71,10 @@ public class LoanReturnVehLedger extends BaseEntity {
private String saleOrderSid;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
@ApiModelProperty("库存状态")
private String vehicleState;
@ApiModelProperty("库存状态key")
private String vehicleStateKey;
}

65
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerDto.java

@ -0,0 +1,65 @@
package com.yxt.anrui.riskcenter.api.loanreturnvehledger;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class LoanReturnVehLedgerDto {
private String sid;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车辆类型")
private String vehType;
@ApiModelProperty("车辆类型key")
private String vehTypeKey;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("车型sid")
private String vehModelSid;
@ApiModelProperty("配置sid")
private String configSid;
@ApiModelProperty("配置")
private String configName;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("客户sid")
private String customerSid;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("贷款人sid")
private String borrowerSid;
@ApiModelProperty("存放地点")
private String location;
@ApiModelProperty("存放地点sid")
private String locationSid;
@ApiModelProperty("处置方式key")
private String disposalKey;
@ApiModelProperty("处置方式")
private String disposal;
@ApiModelProperty("入库价")
private int inboundMoney;
@ApiModelProperty("入库日期")
private String inboundDate;
@ApiModelProperty("出库日期")
private String outboundDate;
@ApiModelProperty("逾期金额")
private String overMoney;
@ApiModelProperty("未到期金额")
private String notBecomeDueMoney;
@ApiModelProperty("库存状态")
private String vehicleState;
@ApiModelProperty("库存状态key")
private String vehicleStateKey;
}

32
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeign.java

@ -0,0 +1,32 @@
package com.yxt.anrui.riskcenter.api.loanreturnvehledger;
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.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@FeignClient(
contextId = "anrui-riskcenter-LoanReturnVehLedger",
name = "anrui-riskcenter",
path = "v1/LoanReturnVehLedger",
fallback = LoanReturnVehLedgerFeignFallback.class)
public interface LoanReturnVehLedgerFeign {
@ApiOperation("分页列表")
@PostMapping("/listPage")
ResultBean<PagerVo<LoanReturnVehLedgerVo>> pageList(@RequestBody PagerQuery<LoanReturnVehLedgerQuery> pagerQuery);
@ApiOperation("编辑")
@PostMapping("/update")
ResultBean update(@RequestBody LoanReturnVehLedgerDto dto);
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.riskcenter.api.loanreturnvehledger;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Component
public class LoanReturnVehLedgerFeignFallback {
}

48
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerQuery.java

@ -0,0 +1,48 @@
package com.yxt.anrui.riskcenter.api.loanreturnvehledger;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class LoanReturnVehLedgerQuery implements Query {
private static final long serialVersionUID = 6282512872080068571L;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车辆类型")
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("存放地点")
private String location;
@ApiModelProperty("处置方式key")
private String disposalKey;
@ApiModelProperty("入库日期开始")
private String inboundDateStart;
@ApiModelProperty("入库日期结束")
private String inboundDateEnd;
@ApiModelProperty("出库日期开始")
private String outboundDateStart;
@ApiModelProperty("出库日期结束")
private String outboundDateEnd;
@ApiModelProperty("库存状态")
private String vehicleState;
private String menuUrl;
private String orgPath;
private String userSid;
}

47
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanreturnvehledger/LoanReturnVehLedgerVo.java

@ -0,0 +1,47 @@
package com.yxt.anrui.riskcenter.api.loanreturnvehledger;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class LoanReturnVehLedgerVo {
private String sid;
@ApiModelProperty("分公司")
private String useOrgName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
@ApiModelProperty("车辆类型")
private String vehType;
@ApiModelProperty("车型")
private String vehModel;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("逾期金额")
private String overMoney;
@ApiModelProperty("未到期金额")
private String notBecomeDueMoney;
@ApiModelProperty("存放地点")
private String location;
@ApiModelProperty("处置方式")
private String disposal;
@ApiModelProperty("入库价")
private int inboundMoney;
@ApiModelProperty("入库日期")
private String inboundDate;
@ApiModelProperty("出库日期")
private String outboundDate;
@ApiModelProperty("库存状态")
private String vehicleState;
}

67
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbeoverdueveh/LoanBeOverdueVehMapper.xml

@ -40,7 +40,8 @@
0
)
) AS beOverdueMoney,
ROUND((
ROUND(
(
SUM(a1.yq_total) + IFNULL(
(SELECT
SUM(lbpv.`bankBeInter`)
@ -61,7 +62,9 @@
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; CURDATE())),
0
)
) / a1.qjyh, 1) AS beOverdueMoneyAndPeriod,
) / a1.qjyh,
1
) AS beOverdueMoneyAndPeriod,
SUM(a1.yd_dkje) AS advMoney,
SUM(a1.yd_zjzyf) AS fundPossCostMoney,
a1.riskStaffUserSid,
@ -84,7 +87,9 @@
lrpd.`bankContractNo`,
lrpd.dueMoney,
lrpd.dueDate,
(IFNULL(lrs.mainMidRepay,0) + IFNULL(lrs.otherMidRepay,0)) AS qjyh,
(
IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0)
) AS qjyh,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
@ -99,19 +104,33 @@
bv.riskStaffUserName,
bv.reaRepaymentName,
lr.createTime,
CASE lbcv.lockCarState
WHEN 0 THEN '未控制'
WHEN 1 THEN '控制成功'
WHEN 2 THEN '控制失败'
WHEN 3 THEN '已解控' END AS lockCarState
(SELECT
CASE
lbcv.lockCarState
WHEN 0
THEN '未控制'
WHEN 1
THEN '控制成功'
WHEN 2
THEN '控制失败'
WHEN 3
THEN '已解控'
END AS lockCarState
FROM
loan_be_collection_veh lbcv
LEFT JOIN loan_be_collection_apply lbca
ON lbca.sid = lbcv.mainSid
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
AND lbcv.saleVehSid = lrpd.busVinSid
ORDER BY lbca.createTime DESC
LIMIT 1) AS lockCarState
FROM
`loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON lrpd.busVinSid = bv.sid
LEFT JOIN loan_be_collection_veh lbcv
ON lrpd.busVinSid = lbcv.saleVehSid
LEFT JOIN loan_repayment_schedule lrs
ON lrpd.scheduleSid = lrs.sid
LEFT JOIN
@ -223,19 +242,33 @@
lr.createTime,
lrpd.borrowerSid,
lrpd.salesOrderSid,
CASE lbcv.lockCarState
WHEN 0 THEN '未控制'
WHEN 1 THEN '控制成功'
WHEN 2 THEN '控制失败'
WHEN 3 THEN '已解控' END AS lockCarState
(SELECT
CASE
lbcv.lockCarState
WHEN 0
THEN '未控制'
WHEN 1
THEN '控制成功'
WHEN 2
THEN '控制失败'
WHEN 3
THEN '已解控'
END AS lockCarState
FROM
loan_be_collection_veh lbcv
LEFT JOIN loan_be_collection_apply lbca
ON lbca.sid = lbcv.mainSid
WHERE lbca.collMeasure LIKE '%远程控制%'
AND lbca.nodeState = '已办结'
AND lbcv.saleVehSid = lrpd.busVinSid
ORDER BY lbca.createTime DESC
LIMIT 1) AS lockCarState
FROM
`loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON lrpd.busVinSid = bv.sid
LEFT JOIN loan_be_collection_veh lbcv
ON lrpd.busVinSid = lbcv.saleVehSid
LEFT JOIN loan_repayment_schedule lrs
ON lrpd.scheduleSid = lrs.sid
LEFT JOIN

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -922,8 +922,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
finPaymentrecordDto.setReceiveBank(loanBePadsincereVehDetailsVo.getBankCollectionAcc());
finPaymentrecordDto.setReceiveBankAccount(loanBePadsincereVehDetailsVo.getBankCollectionNum());
finPaymentrecordDto.setReceiveCompany("");
finPaymentrecordDto.setCost(Integer.parseInt(loanBePadsincereVehDetailsVo.getPadMoney()));
finPaymentrecordDto.setAccountsReceive(Integer.parseInt(loanBePadsincereVehDetailsVo.getPadMoney()));
finPaymentrecordDto.setCost(loanBePadsincereVehDetailsVo.getPadMoney());
finPaymentrecordDto.setAccountsReceive(loanBePadsincereVehDetailsVo.getPadMoney());
finPaymentrecordDto.setBusSid(loanBePadsincereApply.getSid());
finPaymentrecordDto.setPayRemark(loanBePadsincereApply.getPaymentRemarks());
finPaymentrecordDto.setPayCode("");

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

@ -5,6 +5,7 @@ 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.loanoutboundapply.LoanOutboundApplyVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionInitVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.RedemptionVinList;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
@ -17,7 +18,7 @@ import java.util.Map;
@Mapper
public interface LoanOutboundApplyMapper extends BaseMapper<LoanOutboundApply> {
IPage<LoanSubletApplyVo> listPage(IPage<LoanSubletApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanSubletApply> qw);
IPage<LoanOutboundApplyVo> listPage(IPage<LoanOutboundApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanOutboundApply> qw);
IPage<SubletVinListVo> getVinList(IPage<SubletVinListVo> page, @Param(Constants.WRAPPER) QueryWrapper<SubletVinListQuery> qw);
@ -33,11 +34,13 @@ public interface LoanOutboundApplyMapper extends BaseMapper<LoanOutboundApply> {
SubletVinList selReturnVinLegerBySid(@Param("ledgerSid") String ledgerSid);
SubletVinList selReturnTrVinLegerByPSid(@Param("ledgerSid")String ledgerSid);
SubletVinList selReturnTrVinLegerByPSid(@Param("ledgerSid") String ledgerSid);
SubletInitVo selLoanInfoByTrVeh(@Param("ledgerSid")String ledgerSid);
SubletInitVo selLoanInfoByTrVeh(@Param("ledgerSid") String ledgerSid);
SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid")String ledgerSid);
SubletVinList selReturnTrVinLegerBySid(@Param("ledgerSid") String ledgerSid);
VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid);
int updateLedgerStockStateBySid(@Param("key") String key, @Param("value") String value, @Param("date") String date, @Param("ledgerSid") String ledgerSid);
}

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

@ -16,8 +16,15 @@
</if>
WHERE sid = #{sid}
</update>
<update id="updateLedgerStockStateBySid">
UPDATE loan_return_veh_ledger
SET stockStateKey=#{key},
stockState=#{value},
outboundDate =#{date}
WHERE sid = #{ledgerSid}
</update>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loansubletapply.LoanSubletApplyVo">
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApplyVo">
SELECT
*
FROM
@ -26,9 +33,8 @@
sa.sid,
sa.isDelete,
sa.nodeState,
sa.agree,
sa.useOrgSid,
sa.createBySid,
sa.applyUserSid,
sa.orgSidPath,
sa.useOrgName AS company,
sa.dept,
@ -43,13 +49,18 @@
sa.borrowerName,
sa.customer,
sa.amount,
( SELECT count(*) FROM loan_sublet_veh h WHERE mainSid = sa.sid ) AS `count`,
v.vehType,
sa.newCustomer,
sa.phoneNum,
sa.disposal,
sa.disposalKey,
date_format( sa.outboundDate, '%Y-%m-%d' ) AS outboundDate,
( SELECT count(*) FROM loan_out_bound_veh h WHERE mainSid = sa.sid ) AS `count`,
v.vinNo,
v.vehMark
v.vehMark,
v.vehType
FROM
loan_sublet_apply AS sa
LEFT JOIN loan_sublet_veh AS v ON sa.sid = v.mainSid
loan_out_bound_apply AS sa
LEFT JOIN loan_out_bound_veh AS v ON sa.sid = v.mainSid
) a
<where>
${ew.sqlSegment}

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

File diff suppressed because it is too large

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

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanoutboundveh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.OutboundVinList;
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh;
@ -15,5 +16,5 @@ public interface LoanOutboundVehMapper extends BaseMapper<LoanOutboundVeh> {
int deleteByMainSid(@Param("mainSid") String mainSid);
List<SubletVinList> selByMainSid(@Param("mainSid") String mainSid);
List<OutboundVinList> selByMainSid(@Param("mainSid") String mainSid);
}

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

@ -8,15 +8,9 @@
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
resultType="com.yxt.anrui.riskcenter.api.loanoutboundapply.OutboundVinList">
select *
FROM loan_out_bound_veh
WHERE mainSid = #{mainSid}
</select>
</mapper>

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

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.biz.loanoutboundveh;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.OutboundVinList;
import com.yxt.anrui.riskcenter.api.loanoutboundveh.LoanOutboundVeh;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.anrui.riskcenter.api.loansubletveh.LoanSubletVeh;
@ -21,7 +22,7 @@ public class LoanOutboundVehService extends MybatisBaseService<LoanOutboundVehMa
}
public List<SubletVinList> selByMainSid(String sid) {
public List<OutboundVinList> selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}

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

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loansubletapply.VehDisposal;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -32,4 +33,6 @@ public interface LoanRedemptionApplyMapper extends BaseMapper<LoanRedemptionAppl
int updateVehLedgerDisposal(@Param("sid") String sid, @Param("disposalKey") String disposalKey, @Param("disposal") String disposal);
VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid);
LoanReturnVehLedger selVehLedgerBySid(@Param("ledgerSid") String ledgerSid);
}

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

@ -110,4 +110,10 @@
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
<select id="selVehLedgerBySid"
resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger">
SELECT *
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
</mapper>

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

@ -13,6 +13,8 @@ import com.yxt.anrui.base.common.utils.domain.BillNo;
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.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.fin.api.kingdee.voucher.GeneralVoucher;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
@ -38,6 +40,8 @@ import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.LoanOutboundApplyDto;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.OutboundVinListDto;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppRedemptionDetailsVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppVinListVo;
@ -47,10 +51,12 @@ import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loansubletapply.SubletVinList;
import com.yxt.anrui.riskcenter.api.loansubletapply.VehDisposal;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanoutboundapply.LoanOutboundApplyService;
import com.yxt.anrui.riskcenter.biz.loanredemptionveh.LoanRedemptionVehService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
@ -120,6 +126,10 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
private LoanRestoreReportApplyService loanRestoreReportApplyService;
@Autowired
private LoanRedemptionVehService loanRedemptionVehService;
@Autowired
private LoanOutboundApplyService loanOutboundApplyService;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
public PagerVo<LoanRedemptionApplyVo> listPage(PagerQuery<LoanRedemptionApplyQuery> pq) {
IPage<LoanRedemptionApply> page = PagerUtil.queryToPage(pq);
@ -784,7 +794,18 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
LoanRedemptionApply redemptionApply = fetchBySid(businessSid);
redemptionApply.setClosingDate(new DateTime());
baseMapper.updateById(redemptionApply);
//todo 修改交车车辆台账状态
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(() -> {
pushVehOutBound(redemptionApply);
});
} catch (Exception e) {
e.printStackTrace();
}
} else {
//极光推送
loanRedemptionApply = fetchBySid(businessSid);
@ -807,6 +828,42 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
}
}
public void pushVehOutBound(LoanRedemptionApply loanRedemptionApply) {
LoanOutboundApplyDto dto = new LoanOutboundApplyDto();
List<OutboundVinListDto> vinList = new ArrayList<>();
BeanUtil.copyProperties(loanRedemptionApply, dto);
dto.setApplySid(loanRedemptionApply.getSid());
dto.setDisposalKey("02");
dto.setDisposal("客户赎回");
if (StringUtils.isNotBlank(loanRedemptionApply.getCustomerSid())) {
dto.setNewCustomerSid(loanRedemptionApply.getCustomerSid());
CrmCustomerTempVo customerTempVo = crmCustomerTempFeign.fetchSid(loanRedemptionApply.getCustomerSid()).getData();
if (null != customerTempVo) {
if (StringUtils.isNotBlank(customerTempVo.getMobile())) {
dto.setPhoneNum(customerTempVo.getMobile());
}
}
}
if (StringUtils.isNotBlank(loanRedemptionApply.getCustomer())) {
dto.setNewCustomer(loanRedemptionApply.getCustomer());
}
List<RedemptionVinList> vinLists = loanRedemptionVehService.selByMainSid(loanRedemptionApply.getSid());
if (!vinLists.isEmpty()) {
vinLists.forEach(v -> {
OutboundVinListDto outboundVinListDto = new OutboundVinListDto();
BeanUtil.copyProperties(v, outboundVinListDto);
LoanReturnVehLedger loanReturnVehLedger = baseMapper.selVehLedgerBySid(v.getLedgerSid());
if (null != loanReturnVehLedger) {
if (StringUtils.isNotBlank(loanReturnVehLedger.getLocation())) {
outboundVinListDto.setLocation(loanReturnVehLedger.getLocation());
}
}
vinList.add(outboundVinListDto);
});
}
dto.setVinList(vinList);
loanOutboundApplyService.saveOutbound(dto);
}
public ResultBean revokeProcess(RedemptionTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
@ -953,7 +1010,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
//终止任务后操作
LoanRedemptionApply entity = fetchBySid(query.getBusinessSid());
if (entity.getNodeState().equals("终止")) {
// todo 修改交回车辆状态
// 修改交回车辆状态
List<RedemptionVinList> vinLists = loanRedemptionVehService.selByMainSid(query.getBusinessSid());
if (!vinLists.isEmpty()) {
vinLists.stream().forEach(v -> {
@ -975,7 +1032,7 @@ public class LoanRedemptionApplyService extends MybatisBaseService<LoanRedemptio
//终止任务后操作
LoanRedemptionApply entity = fetchBySid(query.getBusinessSid());
if (entity.getNodeState().equals("终止")) {
// todo 修改交回车辆状态
// 修改交回车辆状态
List<RedemptionVinList> vinLists = loanRedemptionVehService.selByMainSid(query.getBusinessSid());
if (!vinLists.isEmpty()) {
vinLists.stream().forEach(v -> {

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrestorereportapply/LoanRestoreReportApplyMapper.xml

@ -78,7 +78,9 @@
<select id="getYhjehsqs" resultType="java.lang.String">
SELECT
ROUND(
IFNULL(SUM(lrh.`actualMoney`), 0) / lrs.mainMidRepay,
IFNULL(SUM(lrh.`actualMoney`), 0) / (
IFNULL(lrs.mainMidRepay, 0) + IFNULL(lrs.otherMidRepay, 0)
),
1
)
FROM

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.java

@ -37,4 +37,6 @@ public interface LoanReturnInboundApplyMapper extends BaseMapper<LoanReturnInbou
IPage<ReturnInboundVo> getInboundList(IPage<LoanReturnInboundApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanReturnInboundApply> qw, @Param("list") List<String> busVinSid);
BusSalesOrder selectOrder(String busVinSid);
int selectByBusVinSid(String busVinSid);
}

9
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyMapper.xml

@ -155,4 +155,13 @@
left join anrui_buscenter.bus_sales_order_vehicle bv on bv.salesOrderSid = bo.sid
where bv.sid = #{busVinSid}
</select>
<select id="selectByBusVinSid" resultType="int">
select ifnull(sum(a.vehcount),0) from (
select count(*) as vehcount from loan_return_veh_ledger where busVinSid = #{busVinSid}
union all
select count(*) as vehcount from loan_return_inbound_apply where busVinSid = #{busVinSid} and
LENGTH(nodeState)>0 and nodeState != '终止'
) a
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturninboundapply/LoanReturnInboundApplyRest.java

@ -98,4 +98,9 @@ public class LoanReturnInboundApplyRest implements LoanReturnInboundApplyFeign {
public ResultBean delegate(ReturnInboundApplyDelegateQuery query) {
return loanReturnInboundApplyService.delegate(query);
}
@Override
public ResultBean<ReturnAppVo> getDetailsApp(String sid) {
return loanReturnInboundApplyService.getDetailsApp(sid);
}
}

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

@ -458,8 +458,11 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
if (r == 0) {
return rb.setMsg("操作失败!提交的数据不一致");
}
//根据busVinSid查询车辆是否已入库
//根据busVinSid查询车辆是否已入库或审批中
int count = baseMapper.selectByBusVinSid(dto.getBusVinSid());
if (count > 0) {
return rb.setMsg("该车辆交回入库审批中或已入库");
}
ResultBean<String> resultBean = saveOrUpdateReturnInbound(dto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
@ -701,11 +704,11 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
QueryWrapper<LoanReturnInboundApply> qw = new QueryWrapper<>();
List<String> busVinSid = new ArrayList<>();
if (query != null) {
if(StringUtils.isNotBlank(query.getVinNo())){
qw.like("la.vinNo",query.getVinNo());
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.getVehMark())) {
qw.like("la.carNum", query.getVehMark());
}
if (StringUtils.isNotBlank(query.getOrgPath())) {
String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(query.getOrgPath()).getData();
@ -722,6 +725,10 @@ public class LoanReturnInboundApplyService extends MybatisBaseService<LoanReturn
return p;
}
public ResultBean<ReturnAppVo> getDetailsApp(String sid) {
return null;
}
/* public ResultBean<List<ReturnInboundVo>> getInboundList(String useOrgSid) {
ResultBean<List<ReturnInboundVo>> rb = ResultBean.fireFail();
List<String> busVinSid = baseMapper.selectVehInbound(useOrgSid);

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

@ -1,8 +1,15 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
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.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerQuery;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
/**
* @description:
@ -11,4 +18,9 @@ import org.apache.ibatis.annotations.Mapper;
**/
@Mapper
public interface LoanReturnVehLedgerMapper extends BaseMapper<LoanReturnVehLedger> {
LoanReturnVehLedger selectByBusVinSid(String busVinSid);
BusSalesOrderVehicle selectBusVinSid(String busVinSid);
IPage<LoanReturnVehLedgerVo> selectPageVo(IPage<LoanReturnVehLedger> page, @Param(Constants.WRAPPER) QueryWrapper<LoanReturnVehLedgerQuery> qw);
}

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

@ -1,4 +1,38 @@
<?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">
<select id="selectByBusVinSid" resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger">
select *
from loan_return_veh_ledger
where busVinSid = #{busVinSid}
</select>
<select id="selectBusVinSid" resultType="com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle">
select *
from anrui_buscenter.bus_sales_order_vehicle
where sid = #{busVinSid}
</select>
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo">
select lv.sid,
lv.useOrgName,
lv.vinNo,
lv.vehMark,
lv.vehType,
lv.vehModel,
lv.customer,
lv.borrowerName,
lv.overMoney,
lv.notBecomeDueMoney,
lv.location,
lv.disposal,
lv.inboundMoney,
DATE_FORMAT(lv.inboundDate, '%Y-%m-%d') AS inboundDate,
DATE_FORMAT(lv.outboundDate, '%Y-%m-%d') AS outboundDate,
lv.vehicleState
from loan_return_veh_ledger lv
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

37
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanreturnvehledger/LoanReturnVehLedgerRest.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyVo;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@RestController
@RequestMapping("v1/LoanReturnVehLedger")
@Api(tags = "交回车辆台账管理")
public class LoanReturnVehLedgerRest implements LoanReturnVehLedgerFeign {
@Autowired
private LoanReturnVehLedgerService loanReturnVehLedgerService;
@Override
public ResultBean<PagerVo<LoanReturnVehLedgerVo>> pageList(PagerQuery<LoanReturnVehLedgerQuery> pagerQuery) {
ResultBean<PagerVo<LoanReturnVehLedgerVo>> rb = ResultBean.fireFail();
PagerVo<LoanReturnVehLedgerVo> pv = loanReturnVehLedgerService.listPageVo(pagerQuery);
return rb.success().setData(pv);
}
@Override
public ResultBean update(LoanReturnVehLedgerDto dto) {
return loanReturnVehLedgerService.updateDto(dto);
}
}

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

@ -1,15 +1,34 @@
package com.yxt.anrui.riskcenter.biz.loanreturnvehledger;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyQuery;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyVo;
import com.yxt.anrui.riskcenter.api.loanreturninboundtrailer.LoanReturnInboundTrailer;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerDto;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerQuery;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedgerVo;
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.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -23,8 +42,11 @@ public class LoanReturnVehLedgerService extends MybatisBaseService<LoanReturnVeh
private LoanReturnInboundApplyService loanReturnInboundApplyService;
@Autowired
private LoanReturnInboundTrailerService loanReturnInboundTrailerService;
@Autowired
private SysUserFeign sysUserFeign;
public ResultBean saveVehLedger(String businessSid) {
ResultBean rb = ResultBean.fireFail();
//查询交回入库申请办结的主车信息
LoanReturnInboundApply loanReturnInboundApply = loanReturnInboundApplyService.fetchBySid(businessSid);
LoanReturnInboundTrailer loanReturnInboundTrailer = null;
@ -33,7 +55,167 @@ public class LoanReturnVehLedgerService extends MybatisBaseService<LoanReturnVeh
loanReturnInboundTrailer = loanReturnInboundTrailerService.selectByMainSid(businessSid);
}
//ToDo:查询该车是否已入库,若已入库则不重复入库
LoanReturnVehLedger loanReturnVehLedger = baseMapper.selectByBusVinSid(loanReturnInboundApply.getBusVinSid());
if (loanReturnVehLedger == null) {
loanReturnVehLedger = new LoanReturnVehLedger();
loanReturnVehLedger.setVinSid(loanReturnInboundApply.getVinSid());
loanReturnVehLedger.setVinNo(loanReturnInboundApply.getVinNo());
loanReturnVehLedger.setVehMark(loanReturnInboundApply.getVehMark());
loanReturnVehLedger.setVehType("主车");
loanReturnVehLedger.setVehModel(loanReturnInboundApply.getModelName());
loanReturnVehLedger.setVehModelSid(loanReturnInboundApply.getModelSid());
loanReturnVehLedger.setConfigSid(loanReturnInboundApply.getConfigSid());
loanReturnVehLedger.setConfigName(loanReturnInboundApply.getConfigName());
loanReturnVehLedger.setCustomer(loanReturnInboundApply.getCustomerName());
loanReturnVehLedger.setCustomerSid(loanReturnInboundApply.getCustomerSid());
loanReturnVehLedger.setBorrowerName(loanReturnInboundApply.getLoanName());
loanReturnVehLedger.setBorrowerSid(loanReturnInboundApply.getLoanSid());
loanReturnVehLedger.setLocation(loanReturnInboundApply.getLocationName());
// loanReturnVehLedger.setDisposal();
// loanReturnVehLedger.setDisposalKey();
loanReturnVehLedger.setInboundMoney(loanReturnInboundApply.getInboundMoney());
loanReturnVehLedger.setInboundDate(new Date());
loanReturnVehLedger.setUseOrgSid(loanReturnInboundApply.getUseOrgSid());
loanReturnVehLedger.setUseOrgName(loanReturnInboundApply.getUseOrgName());
loanReturnVehLedger.setOrgSidPath(loanReturnInboundApply.getOrgSidPath());
loanReturnVehLedger.setPSid("0");
loanReturnVehLedger.setBusVinSid(loanReturnInboundApply.getBusVinSid());
BusSalesOrderVehicle busSalesOrderVehicle = baseMapper.selectBusVinSid(loanReturnVehLedger.getBusVinSid());
loanReturnVehLedger.setSaleOrderSid(busSalesOrderVehicle.getSalesOrderSid());
loanReturnVehLedger.setVehicleState("库存");
baseMapper.insert(loanReturnVehLedger);
if (loanReturnInboundTrailer != null) {
LoanReturnVehLedger loanReturnVehLedgerTrailer = new LoanReturnVehLedger();
loanReturnVehLedgerTrailer.setVehMark(loanReturnInboundTrailer.getVehMark());
loanReturnVehLedgerTrailer.setVinNo(loanReturnInboundTrailer.getVinNo());
loanReturnVehLedgerTrailer.setVinSid(loanReturnInboundTrailer.getVinSid());
loanReturnVehLedgerTrailer.setVehModel(loanReturnInboundTrailer.getTrailerType());
loanReturnVehLedgerTrailer.setUseOrgName(loanReturnInboundApply.getUseOrgName());
loanReturnVehLedgerTrailer.setUseOrgSid(loanReturnInboundApply.getUseOrgSid());
loanReturnVehLedgerTrailer.setPSid(loanReturnVehLedger.getSid());
loanReturnVehLedgerTrailer.setCustomer(loanReturnInboundApply.getCustomerName());
loanReturnVehLedgerTrailer.setCustomerSid(loanReturnInboundApply.getCustomerSid());
loanReturnVehLedgerTrailer.setVehicleState("库存");
loanReturnVehLedgerTrailer.setBorrowerSid(loanReturnInboundApply.getLoanSid());
loanReturnVehLedgerTrailer.setBorrowerName(loanReturnInboundApply.getLoanName());
// loanReturnVehLedgerTrailer.setDisposal();
// loanReturnVehLedgerTrailer.setDisposalKey();
loanReturnVehLedgerTrailer.setInboundMoney(loanReturnInboundApply.getInboundMoney());
loanReturnVehLedgerTrailer.setInboundDate(new Date());
loanReturnVehLedgerTrailer.setOrgSidPath(loanReturnInboundApply.getOrgSidPath());
baseMapper.insert(loanReturnVehLedgerTrailer);
}
}
return rb.success();
}
return null;
public PagerVo<LoanReturnVehLedgerVo> listPageVo(PagerQuery<LoanReturnVehLedgerQuery> pagerQuery) {
LoanReturnVehLedgerQuery query = pagerQuery.getParams();
QueryWrapper<LoanReturnVehLedgerQuery> qw = new QueryWrapper<>();
if (query != null) {
//分公司
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("lv.useOrgName", query.getUseOrgName());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("lv.vinNo", query.getVinNo());
}
//车牌号
if (StringUtils.isNotBlank(query.getVehMark())) {
qw.like("lv.vehMark", query.getVehMark());
}
//车辆类型
if (StringUtils.isNotBlank(query.getVehType())) {
qw.like("lv.vehType", query.getVehType());
}
//车型
if (StringUtils.isNotBlank(query.getVehModel())) {
qw.like("lv.vehModel", query.getVehModel());
}
//客户名称
if (StringUtils.isNotBlank(query.getCustomer())) {
qw.like("lv.customer", query.getCustomer());
}
//贷款人
if (StringUtils.isNotBlank(query.getBorrowerName())) {
qw.like("lv.borrowerName", query.getBorrowerName());
}
//存放地点
if (StringUtils.isNotBlank(query.getLocation())) {
qw.like("lv.location", query.getLocation());
}
//处置方式
if (StringUtils.isNotBlank(query.getDisposalKey())) {
qw.eq("lv.disposalKey", query.getDisposalKey());
}
//入库日期开始
qw.apply(StringUtils.isNotBlank(query.getInboundDateStart()), "date_format (lv.inboundDate,'%Y-%m-%d') >= date_format('" + query.getInboundDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getInboundDateEnd()), "date_format (lv.inboundDate,'%Y-%m-%d') <= date_format('" + query.getInboundDateEnd() + "','%Y-%m-%d')"
);
//出库日期开始
qw.apply(StringUtils.isNotBlank(query.getInboundDateStart()), "date_format (lv.outboundDate,'%Y-%m-%d') >= date_format('" + query.getInboundDateStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getInboundDateEnd()), "date_format (lv.outboundDate,'%Y-%m-%d') <= date_format('" + query.getInboundDateEnd() + "','%Y-%m-%d')"
);
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.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("lv.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("lv.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("lv.createBySid", query.getUserSid());
} else {
PagerVo<LoanReturnVehLedgerVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanReturnVehLedgerVo> p = new PagerVo<>();
return p;
}
}
}
qw.orderByDesc("lv.createTime");
IPage<LoanReturnVehLedger> page = PagerUtil.queryToPage(pagerQuery);
IPage<LoanReturnVehLedgerVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanReturnVehLedgerVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean updateDto(LoanReturnVehLedgerDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = dto.getSid();
LoanReturnVehLedger loanReturnVehLedger = fetchBySid(sid);
if (loanReturnVehLedger == null) {
return rb.setMsg("该车辆台账不存在");
}
BeanUtil.copyProperties(dto, loanReturnVehLedger, "sid");
baseMapper.updateById(loanReturnVehLedger);
return rb.success();
}
}

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

@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
import com.yxt.anrui.riskcenter.api.loansubletapply.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -41,4 +42,6 @@ public interface LoanSubletApplyMapper extends BaseMapper<LoanSubletApply> {
VehDisposal selVehDisposal(@Param("ledgerSid") String ledgerSid);
List<CustomerListVo> pickCustomer(@Param("userOrgSid") String userOrgSid);
LoanReturnVehLedger selVehLedgerBySid(@Param("ledgerSid") String ledgerSid);
}

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

@ -199,4 +199,10 @@
FROM anrui_crm.crm_customer_temp
WHERE createOrgSid = #{userOrgSid}
</select>
<select id="selVehLedgerBySid"
resultType="com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger">
SELECT *
FROM loan_return_veh_ledger
WHERE sid = #{ledgerSid}
</select>
</mapper>

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

@ -10,6 +10,9 @@ 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.crm.api.crmcustomertemp.CrmCustomerTemp;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempFeign;
import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempVo;
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
@ -29,12 +32,10 @@ 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.LoanOutboundApplyDto;
import com.yxt.anrui.riskcenter.api.loanoutboundapply.OutboundVinListDto;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.*;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppRedemptionDetailsVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.app.AppVinListVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh;
import com.yxt.anrui.riskcenter.api.loanrestorereportapply.AlrepaidAndArrVo;
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger;
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;
@ -42,11 +43,10 @@ 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.loanoutboundapply.LoanOutboundApplyService;
import com.yxt.anrui.riskcenter.biz.loanredemptionapply.LoanRedemptionApplyService;
import com.yxt.anrui.riskcenter.biz.loanredemptionveh.LoanRedemptionVehService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrestorereportapply.LoanRestoreReportApplyService;
import com.yxt.anrui.riskcenter.biz.loansubletveh.LoanSubletVehService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -80,14 +80,10 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
@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;
@ -98,21 +94,13 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
@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 LoanOutboundApplyService loanOutboundApplyService;
@Autowired
private CrmCustomerTempFeign crmCustomerTempFeign;
public PagerVo<LoanSubletApplyVo> listPage(PagerQuery<LoanSubletApplyQuery> pq) {
IPage<LoanSubletApply> page = PagerUtil.queryToPage(pq);
@ -692,7 +680,24 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
LoanSubletApply subletApply = fetchBySid(businessSid);
subletApply.setClosingDate(new DateTime());
baseMapper.updateById(subletApply);
//todo 修改交车车辆台账状态
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(() -> {
pushVehOutBound(subletApply);
});
//维护客户信息
Future future2 = pool.submit(() -> {
updateCustomer(subletApply);
});
} catch (Exception e) {
e.printStackTrace();
}
} else {
//极光推送
loanSubletApply = fetchBySid(businessSid);
@ -715,6 +720,47 @@ public class LoanSubletApplyService extends MybatisBaseService<LoanSubletApplyMa
}
}
private void updateCustomer(LoanSubletApply subletApply) {
if (StringUtils.isNotBlank(subletApply.getNewCustomerSid())) {
String newCustomerSid = subletApply.getNewCustomerSid();
CrmCustomerTemp customerTemp = crmCustomerTempFeign.fetchEntity(newCustomerSid).getData();
if (null != customerTemp) {
if (StringUtils.isNotBlank(subletApply.getIdNumber())) {
customerTemp.setIDNumber(subletApply.getIdNumber());
}
if (StringUtils.isNotBlank(subletApply.getEndDate())) {
customerTemp.setEndDate(subletApply.getEndDate());
}
crmCustomerTempFeign.updateByEntity(customerTemp);
}
}
}
private void pushVehOutBound(LoanSubletApply subletApply) {
LoanOutboundApplyDto dto = new LoanOutboundApplyDto();
List<OutboundVinListDto> vinList = new ArrayList<>();
BeanUtil.copyProperties(subletApply, dto);
dto.setApplySid(subletApply.getSid());
dto.setDisposalKey("04");
dto.setDisposal("二次转租");
List<SubletVinList> vinLists = loanSubletVehService.selByMainSid(subletApply.getSid());
if (!vinLists.isEmpty()) {
vinLists.forEach(v -> {
OutboundVinListDto outboundVinListDto = new OutboundVinListDto();
BeanUtil.copyProperties(v, outboundVinListDto);
LoanReturnVehLedger loanReturnVehLedger = baseMapper.selVehLedgerBySid(v.getLedgerSid());
if (null != loanReturnVehLedger) {
if (StringUtils.isNotBlank(loanReturnVehLedger.getLocation())) {
outboundVinListDto.setLocation(loanReturnVehLedger.getLocation());
}
}
vinList.add(outboundVinListDto);
});
}
dto.setVinList(vinList);
loanOutboundApplyService.saveOutbound(dto);
}
/**
* 撤回
*

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java

@ -707,8 +707,8 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
FinPaymentrecordDto payDto = new FinPaymentrecordDto();
payDto.setBusSid(apply.getSid());
payDto.setCreateBySid(apply.getCreateBySid());
payDto.setCost(entry.getValue().intValue());
payDto.setAccountsReceive(entry.getValue().intValue());
payDto.setCost(entry.getValue().toString());
payDto.setAccountsReceive(entry.getValue().toString());
payDto.setCostTitleKey("008");
payDto.setCostTitleValue("月还");
payDto.setCostTypeKey("006");

16
anrui-scm/anrui-scm-biz/src/main/java/com/yxt/anrui/scm/biz/scmvehicleexamine/ScmVehicleExamineService.java

@ -745,22 +745,22 @@ public class ScmVehicleExamineService extends MybatisBaseService<ScmVehicleExami
String depositUseRuleKey = outsourcingApplicationDetailsVo.getDepositUseRuleKey();
if (depositUseRuleKey.equals("002")) {
if (deposit > 0) {
finPaymentrecordDto.setCost(price - deposit / num);//付款金额
finPaymentrecordDto.setAccountsReceive(price - deposit / num);//付款金额
finPaymentrecordDto.setCost(String.valueOf(price - deposit / num));//付款金额
finPaymentrecordDto.setAccountsReceive(String.valueOf(price - deposit / num));//付款金额
finPaymentrecordDto.setPayRemark("本车使用订金" + (deposit / num) + "元。");
} else {
finPaymentrecordDto.setCost(price);//付款金额
finPaymentrecordDto.setAccountsReceive(price);//付款金额
finPaymentrecordDto.setCost(String.valueOf(price));//付款金额
finPaymentrecordDto.setAccountsReceive(String.valueOf(price));//付款金额
}
} else if (depositUseRuleKey.equals("001")) {
int i = baseMapper.selectCountByBusSid(scmVehicleExamine.getBusinessSid());
i = i + 1;
if (i > 1) {
finPaymentrecordDto.setCost(price);//付款金额
finPaymentrecordDto.setAccountsReceive(price);//付款金额
finPaymentrecordDto.setCost(String.valueOf(price));//付款金额
finPaymentrecordDto.setAccountsReceive(String.valueOf(price));//付款金额
} else if (i == 1) {
finPaymentrecordDto.setCost(price - deposit);
finPaymentrecordDto.setAccountsReceive(price - deposit);
finPaymentrecordDto.setCost(String.valueOf(price - deposit));
finPaymentrecordDto.setAccountsReceive(String.valueOf(price - deposit));
finPaymentrecordDto.setPayRemark("本车为末台车,使用订金" + deposit + "元。");
}
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/becollection/AppBeCollectionRecordDetailsVo.java

@ -57,6 +57,8 @@ public class AppBeCollectionRecordDetailsVo implements Vo {
private String collectionTypeValue;
@ApiModelProperty("定位具体位置")
private String locationStr;
@ApiModelProperty("催收结果key")
private String collectionResultKey;
@ApiModelProperty("催收结果value")
private String collectionResultValue;
@ApiModelProperty("联系人value")

32
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/AppOutBoundVehApplyVinList.java

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

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyDetailsVo.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.outBoundVeh;
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 15:38
*/
@Data
public class OutBoundVehApplyDetailsVo implements Vo {
private String sid;
private String publishInfo;
private String time; //申请日期
private List<String> buyFiles = new ArrayList<>(); //车辆买卖协议
private List<String> deliveryFiles = new ArrayList<>(); //车辆交付确认书
private List<String> assessFiles = new ArrayList<>(); //车辆完整评估照片
private List<String> otherFiles = new ArrayList<>(); //其他附件
private String taskId;
private String procInsId;
private String applySid; //处置申请sid
/**
* 出库金额
*/
private String amount;
/**
* 客户名称
*/
private String custName;
@ApiModelProperty("处置合同号")
private String disposalContractNo;
/**
* 备注
*/
private String remarks;
@ApiModelProperty("处置方式(未处置/客户赎回/二次销售/二次转租)")
private String disposal;
@ApiModelProperty("处置方式key")
private String disposalKey;
/**
* 车辆列表
*/
private List<AppOutBoundVehApplyVinList> vinList = new ArrayList<>();
@ApiModelProperty("联系电话")
private String phoneNum;
}

67
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyFeign.java

@ -0,0 +1,67 @@
package com.yxt.anrui.terminal.api.risk.outBoundVeh;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.CompleteOutBoundVehApplyDto;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.OutBoundVehApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
/**
* @description:
* @author: fzz
* @date: 2023/8/8
**/
@Api(tags = "交回车辆出库申请")
@FeignClient(
contextId = "terminal-OutBoundVeh",
name = "anrui-terminal",
path = "/riskcenter/v1/outboundveh",
fallback = OutBoundVehApplyFeignFallback.class)
public interface OutBoundVehApplyFeign {
@ApiOperation("详情")
@GetMapping("/appDetail/{sid}")
@ResponseBody
ResultBean<OutBoundVehApplyDetailsVo> detail(@PathVariable("sid") String sid);
//-------------------------流程-----------------------------------------
@ApiOperation("办理")
@PutMapping("/agreeCreditInfo")
@ResponseBody
ResultBean agreeCreditInfo(@Valid @RequestBody CompleteOutBoundVehApplyDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectCreditInfo")
@ResponseBody
ResultBean rejectCreditInfo(@Valid @RequestBody AppOutBoundVehApplyTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallCreditInfo")
@ResponseBody
ResultBean recallCreditInfo(@Valid @RequestBody AppOutBoundVehApplyTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopCreditInfo")
@ResponseBody
ResultBean stopCreditInfo(@Valid @RequestBody AppOutBoundVehApplyTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap OutBoundVehApplyFlowableQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppOutBoundVehApplyDelegateQuery delegateQuery);
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/OutBoundVehApplyFeignFallback.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.risk.outBoundVeh;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.CompleteOutBoundVehApplyDto;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.OutBoundVehApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: fzz
* @date:
**/
@Component
public class OutBoundVehApplyFeignFallback implements OutBoundVehApplyFeign {
@Override
public ResultBean<OutBoundVehApplyDetailsVo> detail(String sid) {
return null;
}
@Override
public ResultBean agreeCreditInfo(CompleteOutBoundVehApplyDto dto) {
return null;
}
@Override
public ResultBean rejectCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return null;
}
@Override
public ResultBean recallCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return null;
}
@Override
public ResultBean stopCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return null;
}
@Override
public ResultBean<String> getFlowOperateTitle(OutBoundVehApplyFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppOutBoundVehApplyDelegateQuery delegateQuery) {
return null;
}
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/AppOutBoundVehApplyDelegateQuery.java

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

46
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/AppOutBoundVehApplyTaskQuery.java

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

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/CompleteOutBoundVehApplyDto.java

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

21
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/outBoundVeh/flow/OutBoundVehApplyFlowableQuery.java

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

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundAppVo.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.risk.returninbound;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnInboundAppVo {
}

64
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeign.java

@ -0,0 +1,64 @@
package com.yxt.anrui.terminal.api.risk.returninbound;
import com.yxt.anrui.terminal.api.risk.overduefin.OverDueFnAppVo;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.FinDelegateQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinDto;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinQuery;
import com.yxt.anrui.terminal.api.risk.overduefin.flowable.OverdueFinTaskQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@FeignClient(
contextId = "terminal-ReturnInbound",
name = "anrui-terminal",
path = "/risk/v1/ReturnInbound",
fallback = ReturnInboundFeignFallback.class)
public interface ReturnInboundFeign {
@ApiOperation("办理")
@PutMapping("/agreeReturnInbound")
@ResponseBody
ResultBean agreeReturnInbound(@RequestBody ReturnInboundDto dto);
@ApiOperation("驳回")
@PutMapping("/rejectReturnInbound")
@ResponseBody
ResultBean rejectReturnInbound(@RequestBody ReturnInboundTaskQuery query);
@ApiOperation("撤回")
@PutMapping("/recallReturnInbound")
@ResponseBody
ResultBean recallReturnInbound(@RequestBody ReturnInboundTaskQuery query);
@ApiOperation("终止")
@PutMapping("/stopReturnInbound")
@ResponseBody
ResultBean stopReturnInbound(@RequestBody ReturnInboundTaskQuery query);
@ApiOperation("获取流程操作标题")
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap ReturnInboundQuery query);
@ApiOperation("详情")
@GetMapping("/getReturnInbound/{sid}")
@ResponseBody
ResultBean<ReturnInboundAppVo> getReturnInbound(@PathVariable("sid") String sid);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody ReturnInboundDelegateQuery delegateQuery);
}

12
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/ReturnInboundFeignFallback.java

@ -0,0 +1,12 @@
package com.yxt.anrui.terminal.api.risk.returninbound;
import org.springframework.stereotype.Component;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Component
public class ReturnInboundFeignFallback {
}

25
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.terminal.api.risk.returninbound.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnInboundDelegateQuery {
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

35
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundDto.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.api.risk.returninbound.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnInboundDto {
@ApiModelProperty(value = "任务id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
@ApiModelProperty(value = "流程id")
@NotBlank(message = "参数错误:procInsId")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty(value = "意见")
private String comment;
@ApiModelProperty(value = "业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
@ApiModelProperty(value = "用户sid")
@NotBlank(message = "参数错误:userSid")
private String userSid;
@ApiModelProperty(value = "节点id")
@NotBlank(message = "参数错误:taskDefKey")
private String taskDefKey;
}

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundQuery.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.risk.returninbound.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnInboundQuery {
@ApiModelProperty(value = "节点key")
private String taskDefKey;
@ApiModelProperty(value = "业务sid")
private String businessSid;
@ApiModelProperty(value = "0 上一环节 1下一环节")
@NotNull(message = "参数错误:next")
private Integer next;
}

45
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/returninbound/flowable/ReturnInboundTaskQuery.java

@ -0,0 +1,45 @@
package com.yxt.anrui.terminal.api.risk.returninbound.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Data
public class ReturnInboundTaskQuery {
/**
* 终止驳回撤回
*/
@ApiModelProperty("任务Id")
@NotBlank(message = "参数错误:taskId")
private String taskId;
/**
* 终止驳回撤回
*/
@ApiModelProperty("业务sid")
@NotBlank(message = "参数错误:businessSid")
private String businessSid;
/**
* 终止驳回
*/
@ApiModelProperty("任务意见")
private String comment;
/**
* 终止撤回驳回
*/
@ApiModelProperty("用户Sid")
private String userSid;
/**
* 终止
*/
@ApiModelProperty("流程实例Id")
@JsonProperty("procInsId")
private String instanceId;
}

68
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/outBoundVeh/OutBoundVehApplyRest.java

@ -0,0 +1,68 @@
package com.yxt.anrui.terminal.biz.risk.outBoundVeh;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.OutBoundVehApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.OutBoundVehApplyFeign;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.AppOutBoundVehApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.CompleteOutBoundVehApplyDto;
import com.yxt.anrui.terminal.api.risk.outBoundVeh.flow.OutBoundVehApplyFlowableQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.SubletApplyDetailsVo;
import com.yxt.anrui.terminal.api.risk.subletApply.SubletApplyFeign;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyDelegateQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.AppSubletApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.CompleteSubletApplyDto;
import com.yxt.anrui.terminal.api.risk.subletApply.flow.SubletApplyFlowableQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: fzz
* @date:
**/
@Controller
@RequestMapping("/riskcenter/v1/outboundveh")
public class OutBoundVehApplyRest implements OutBoundVehApplyFeign {
@Autowired
private OutBoundVehApplyService outBoundVehApplyService;
@Override
public ResultBean<OutBoundVehApplyDetailsVo> detail(String sid) {
return outBoundVehApplyService.detail(sid);
}
@Override
public ResultBean agreeCreditInfo(CompleteOutBoundVehApplyDto dto) {
return outBoundVehApplyService.agreeCreditInfo(dto);
}
@Override
public ResultBean rejectCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return outBoundVehApplyService.rejectCreditInfo(query);
}
@Override
public ResultBean recallCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return outBoundVehApplyService.recallCreditInfo(query);
}
@Override
public ResultBean stopCreditInfo(AppOutBoundVehApplyTaskQuery query) {
return outBoundVehApplyService.stopCreditInfo(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(OutBoundVehApplyFlowableQuery query) {
return outBoundVehApplyService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppOutBoundVehApplyDelegateQuery delegateQuery) {
return outBoundVehApplyService.delegate(delegateQuery);
}
}

157
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/outBoundVeh/OutBoundVehApplyService.java

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

62
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundRest.java

@ -0,0 +1,62 @@
package com.yxt.anrui.terminal.biz.risk.returninbound;
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundAppVo;
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundFeign;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Controller
@RequestMapping("/risk/v1/ReturnInbound")
@Api(tags = "交回车辆入库申请审批")
public class ReturnInboundRest implements ReturnInboundFeign {
@Autowired
private ReturnInboundService returnInboundService;
@Override
public ResultBean agreeReturnInbound(ReturnInboundDto dto) {
return returnInboundService.agreeReturnInbound(dto);
}
@Override
public ResultBean rejectReturnInbound(ReturnInboundTaskQuery query) {
return returnInboundService.rejectReturnInbound(query);
}
@Override
public ResultBean recallReturnInbound(ReturnInboundTaskQuery query) {
return returnInboundService.recallReturnInbound(query);
}
@Override
public ResultBean stopReturnInbound(ReturnInboundTaskQuery query) {
return returnInboundService.stopReturnInbound(query);
}
@Override
public ResultBean<String> getFlowOperateTitle(ReturnInboundQuery query) {
return returnInboundService.getFlowOperateTitle(query);
}
@Override
public ResultBean<ReturnInboundAppVo> getReturnInbound(String sid) {
return returnInboundService.getReturnInbound(sid);
}
@Override
public ResultBean delegate(ReturnInboundDelegateQuery delegateQuery) {
return returnInboundService.delegate(delegateQuery);
}
}

115
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/returninbound/ReturnInboundService.java

@ -0,0 +1,115 @@
package com.yxt.anrui.terminal.biz.risk.returninbound;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.*;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApply;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.LoanReturnInboundApplyFeign;
import com.yxt.anrui.riskcenter.api.loanreturninboundapply.flowable.*;
import com.yxt.anrui.terminal.api.risk.returninbound.ReturnInboundAppVo;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDelegateQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundDto;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundQuery;
import com.yxt.anrui.terminal.api.risk.returninbound.flowable.ReturnInboundTaskQuery;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/22
**/
@Service
public class ReturnInboundService {
@Autowired
private LoanReturnInboundApplyFeign loanReturnInboundApplyFeign;
public ResultBean agreeReturnInbound(ReturnInboundDto dto) {
ResultBean rb = ResultBean.fireFail();
CompleteReturnInboundDto completeDto = new CompleteReturnInboundDto();
BeanUtil.copyProperties(dto, completeDto);
ResultBean resultBean = loanReturnInboundApplyFeign.complete(completeDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean rejectReturnInbound(ReturnInboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery();
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery);
ResultBean resultBean = loanReturnInboundApplyFeign.taskReject(returnInboundApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean recallReturnInbound(ReturnInboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery();
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery);
ResultBean resultBean = loanReturnInboundApplyFeign.revokeProcess(returnInboundApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean stopReturnInbound(ReturnInboundTaskQuery query) {
ResultBean rb = ResultBean.fireFail();
ReturnInboundApplyTaskQuery returnInboundApplyTaskQuery = new ReturnInboundApplyTaskQuery();
BeanUtil.copyProperties(query, returnInboundApplyTaskQuery);
ResultBean resultBean = loanReturnInboundApplyFeign.breakProcess(returnInboundApplyTaskQuery);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success().setData(resultBean.getData());
}
public ResultBean<String> getFlowOperateTitle(ReturnInboundQuery query) {
ResultBean<String> rb = ResultBean.fireFail();
//0 上一环节 1下一环节
int next = query.getNext();
ReturnInboundApplyNodeQuery getNodeQuery = new ReturnInboundApplyNodeQuery();
BeanUtil.copyProperties(query, getNodeQuery);
String data = "";
if (next == 0) {
ResultBean<List<ReturnInboundApplyNodeVo>> getPreviousNodesForReject = loanReturnInboundApplyFeign.getPreviousNodesForReject(getNodeQuery);
if (getPreviousNodesForReject.getSuccess()) {
getPreviousNodesForReject.getData().removeAll(Collections.singleton(null));
data = getPreviousNodesForReject.getData().get(0).getName();
} else {
return rb.setMsg(getPreviousNodesForReject.getMsg());
}
} else if (next == 1) {
ResultBean<List<ReturnInboundApplyNodeVo>> getNextNodesForSubmit = loanReturnInboundApplyFeign.getNextNodesForSubmit(getNodeQuery);
if (getNextNodesForSubmit.getSuccess()) {
getNextNodesForSubmit.getData().removeAll(Collections.singleton(null));
data = getNextNodesForSubmit.getData().get(0).getName();
} else {
return rb.setMsg(getNextNodesForSubmit.getMsg());
}
} else {
return rb.setMsg("参数错误:next");
}
return rb.success().setData(data);
}
public ResultBean<ReturnInboundAppVo> getReturnInbound(String sid) {
return null;
}
public ResultBean delegate(ReturnInboundDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
ReturnInboundApplyDelegateQuery delegateQuery1 = new
ReturnInboundApplyDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanReturnInboundApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}
Loading…
Cancel
Save