Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
3072baf4e0
  1. 23
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml
  2. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/DownExcelOverdueBankVo.java
  3. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java
  4. 19
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java
  5. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java
  7. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/DownloadExcelVo.java
  8. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java
  9. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java
  10. 8
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  11. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java
  12. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java
  13. 62
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApply.java
  14. 28
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyDto.java
  15. 96
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java
  16. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java
  17. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java
  18. 34
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyInit.java
  19. 49
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java
  20. 51
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java
  21. 41
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java
  22. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java
  23. 26
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java
  24. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java
  25. 56
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java
  26. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java
  27. 32
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java
  28. 22
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java
  29. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java
  30. 44
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  31. 44
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  32. 8
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java
  33. 58
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml
  34. 28
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java
  35. 77
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java
  36. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml
  37. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java
  38. 42
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml
  39. 28
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  40. 75
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  41. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml
  42. 25
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.java
  43. 46
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyMapper.xml
  44. 113
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java
  45. 1038
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyService.java
  46. 18
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java
  47. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml
  48. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java
  49. 26
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java
  50. 44
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  51. 44
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loantransferpaymentapply/LoanTransferPaymentApplyService.java
  52. 2
      doc/databases/risk_center.sql

23
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesvehicle/BusSalesVehicleMapper.xml

@ -58,17 +58,18 @@
t1.saleDate,
t1.handoverState,
t1.handoverDate,
(@rank := @rank + 1) rankNo from (SELECT @rank := 0) t,(select bv.useOrgName,
bvoa.orgName deptName,
bvoa.staffName,
bvoa.customerName,
bvoa.contractNo,
bv.modelName,
bv.vinNo,
bvoa.saleTypeValue saleType,
bvoa.saleDate,
if(length(bh.closingDate) > 0, '已交付', '未交付') as handoverState,
DATE_FORMAT(bh.closingDate, '%Y-%m-%d') as handoverDate
(@rank := @rank + 1) rankNo from (SELECT @rank := 0) t,(select distinct bv.vinNo,
bv.useOrgName,
bvoa.orgName deptName,
bvoa.staffName,
bvoa.customerName,
bvoa.contractNo,
bv.modelName,
bvoa.saleTypeValue saleType,
bvoa.saleDate,
if(length(bh.closingDate) > 0, '已交付', '未交付') as handoverState,
DATE_FORMAT(bh.closingDate, '%Y-%m-%d') as handoverDate
from anrui_base.base_vehicle_out bvo
left join anrui_base.base_vehicle_out_apply bvoa on bvoa.sid = bvo.mainSid
left join anrui_base.base_vehicle bv on bvo.vinSid = bv.sid

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/DownExcelOverdueBankVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/9
**/
@Data
public class DownExcelOverdueBankVo {
@ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "资方逾期月还", EnName = "bankOverdueMoney")
private String bankOverdueMoney;
}

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import io.swagger.annotations.ApiModelProperty;
@ -19,22 +20,24 @@ public class LoanOverdueBankDetailVo {
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径sid")
private String orgPath;
@ApiModelProperty("截止时间")
private String stopDate;
@ApiModelProperty("附件")
private List<String> filesList = new ArrayList<>();
private List<LoanOverdueBankDetailsDto> detailsVoList = new ArrayList<>();
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请部门sid")
private String createDeptSid;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("发起日期")
private String createDate;
@ApiModelProperty("机构全路径sid")
private String orgPath;
@ApiModelProperty("截止时间")
private String stopDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("附件")
private List<String> filesList = new ArrayList<>();
private List<LoanOverdueBankDetailsDto> detailsVoList = new ArrayList<>();
@JsonIgnore
private String files;
}

19
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailsQuery.java

@ -0,0 +1,19 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/9
**/
@Data
public class LoanOverdueBankDetailsQuery {
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径sid")
private String orgPath;
}

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java

@ -36,6 +36,14 @@ public interface LoanOverdueBankFeign {
@PostMapping("/details")
ResultBean<LoanOverdueBankDetailVo> details(@RequestParam("sid") String sid);
@ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java

@ -13,6 +13,9 @@ import java.math.BigDecimal;
@Data
public class LoanOverdueBankDetailsDto {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("贷款合同编号")
private String loanContractNo;
@ApiModelProperty("客户名称")

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

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/9
**/
@Data
public class DownloadExcelVo {
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "财务累欠金额", EnName = "finMoney")
private String finMoney;
}

28
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -16,24 +17,29 @@ import java.util.List;
public class LoanOverdueFinDetailVo {
private String sid;
@ApiModelProperty("发起部门sid")
private String createDeptSid;
@ApiModelProperty("发起部门")
private String createDept;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径sid")
private String orgPath;
@ApiModelProperty("发起人")
private String createByName;
@ApiModelProperty("发起日期")
private String createDate;
@ApiModelProperty("截止时间")
private String stopDate;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("附件")
private List<String> filesList = new ArrayList<>();
@ApiModelProperty("逾期客户列表")
private List<LoanOverdueFinDetailsDto> detailsVoList = new ArrayList<>();
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请部门sid")
private String createDeptSid;
@ApiModelProperty("申请部门")
private String createDept;
private String remarks;
@ApiModelProperty("机构全路径sid")
private String orgPath;
@JsonIgnore
private String files;
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailsQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/9
**/
@Data
public class LoanOverdueFinDetailsQuery {
@ApiModelProperty("sid")
private String sid;
@ApiModelProperty("用户sid")
private String userSid;
@ApiModelProperty("机构全路径sid")
private String orgPath;
}

8
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java

@ -39,6 +39,14 @@ public interface LoanOverdueFinFeign {
@PostMapping("/details")
ResultBean<LoanOverdueFinDetailVo> details(@RequestParam("sid") String sid);
@ApiOperation("详情初始化2")
@PostMapping("/details2")
ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetails.java

@ -22,6 +22,10 @@ public class LoanOverdueFinDetails extends BaseEntity {
private String loanSid;
@ApiModelProperty("贷款人")
private String loanName;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("销售订单车辆表sid")
private String busVinSid;
@ApiModelProperty("当前逾期金额")
private String overdueMoney;
@ApiModelProperty("累欠")

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefindetails/LoanOverdueFinDetailsDto.java

@ -12,7 +12,8 @@ import lombok.Data;
@Data
public class LoanOverdueFinDetailsDto implements Dto {
private static final long serialVersionUID = 7484921327629725722L;
@ApiModelProperty("明细sid")
private String sid;
@ApiModelProperty("客户名称")
private String customerName;
@ApiModelProperty("客户sid")
@ -27,4 +28,8 @@ public class LoanOverdueFinDetailsDto implements Dto {
private String tiredDeficiency;
@ApiModelProperty("差异金额")
private String diffMoney;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("销售订单关联的车辆sid")
private String busVinSid;
}

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

@ -0,0 +1,62 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@ApiModel(value = "赎回申请", description = "赎回申请")
@TableName("loan_redemption_apply")
@Data
public class LoanRedemptionApply extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请日期")
private Date applyDate; // 申请日期
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请部门sid")
private String deptSid;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("环节定义的sid")
private String nodeSid; // 环节定义的sid
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("taskId")
private String taskId; // taskId
@ApiModelProperty("使用组织sid")
private String useOrgSid; // 使用组织sid
@ApiModelProperty("使用组织名称")
private String useOrgName; // 使用组织名称
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("办结日期")
private Date closingDate;
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private BigDecimal amount;
}

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

@ -0,0 +1,28 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 14:11
*/
@Data
public class LoanRedemptionApplyDto implements Dto {
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String remarks;
private String orgPath;
private List<LoanRedemptionApplyFile> files = new ArrayList<>();
private List<LoanBuckleHistoryRecord> records = new ArrayList<>();
}

96
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeign.java

@ -0,0 +1,96 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.flow.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.List;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "赎回申请")
@FeignClient(
contextId = "anrui-riskcenter-LoanRedemptionApply",
name = "anrui-riskcenter",
path = "v1/loanredemptionapply",
fallback = LoanRedemptionApplyFeignFallback.class)
public interface LoanRedemptionApplyFeign {
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<LoanRedemptionApplyVo>> listPage(@RequestBody PagerQuery<LoanRedemptionApplyQuery> pq);
//
// @ApiOperation("新增初始化")
// @PostMapping("/buckleInit")
// @ResponseBody
// public ResultBean<LoanRedemptionApplyInit> buckleInit(@RequestBody String[] sids);
//
// @ApiOperation("保存修改")
// @PostMapping("/saveBuckle")
// @ResponseBody
// public ResultBean<String> saveBuckle(@RequestBody LoanRedemptionApplyDto dto);
//
// @ApiOperation("详情查看")
// @GetMapping("/buckleDetails")
// @ResponseBody
// public ResultBean<LoanRedemptionApplyInit> buckleDetails(@RequestParam("sid") String sid);
//
// @ApiOperation("批量删除")
// @DeleteMapping("/deleteBySids")
// @ResponseBody
// public ResultBean deleteBySids(@RequestBody String[] sids);
//
// //------------------------------流程接口----------------------------------------------
//
// @ApiOperation("提交")
// @PostMapping("/submit")
// public ResultBean submitRecordApplication(@RequestBody @Valid SubmitRedemptionDto dto);
//
// @ApiOperation(value = "办理(同意)")
// @PostMapping("/complete")
// public ResultBean complete(@Valid @RequestBody RedemptionCompleteDto dto);
//
// @ApiOperation(value = "撤回流程")
// @PostMapping(value = "/revokeProcess")
// public ResultBean revokeProcess(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RedemptionTaskQuery query);
//
// @ApiOperation(value = "驳回任务")
// @PostMapping(value = "/reject")
// public ResultBean taskReject(@ApiParam(value = "工作流任务相关--请求参数") @RequestBody RedemptionTaskQuery query);
//
// @ApiOperation(value = "终止任务")
// @PostMapping(value = "/breakProcess")
// public ResultBean breakProcess(@RequestBody RedemptionTaskQuery query);
//
// @ApiOperation(value = "流程历史流转记录")
// @GetMapping(value = "/task/flowRecord/{procInsId}/{deployId}")
// public ResultBean flowRecord(@ApiParam(value = "流程实例id") @PathVariable(value = "procInsId") String procInsId);
//
// @ApiOperation(value = "获取下一个环节")
// @GetMapping(value = "/getNextNodesForSubmit")
// ResultBean<List<RedemptionGetNodeVo>> getNextNodesForSubmit(@Valid @SpringQueryMap RedemptionGetNodeQuery query);
//
// @ApiOperation(value = "获取上一个环节")
// @GetMapping(value = "/getPreviousNodesForReject")
// ResultBean<List<RedemptionGetNodeVo>> getPreviousNodesForReject(@Valid @SpringQueryMap RedemptionGetNodeQuery query);
//
// @ApiOperation(value = "加签")
// @PostMapping(value = "/delegate")
// public ResultBean delegate(@RequestBody RedemptionDelegateQuery query);
//-------------------------app------------------------
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFeignFallback.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component;
@Component
public class LoanRedemptionApplyFeignFallback implements LoanRedemptionApplyFeign {
@Override
public ResultBean<PagerVo<LoanRedemptionApplyVo>> listPage(PagerQuery<LoanRedemptionApplyQuery> pq) {
return null;
}
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyFile.java

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

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

@ -0,0 +1,34 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleHistoryRecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Administrator
* @description
* @date 2023/11/13 13:43
*/
@Data
public class LoanRedemptionApplyInit implements Vo {
private String sid;
private String userSid;
private String dept;
private String deptSid;
private String applyName;
private String applyDate;
private String remarks;
private String orgPath;
@ApiModelProperty("任务id")
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
private List<LoanRedemptionApplyFile> files = new ArrayList<>();
private List<LoanBuckleHistoryRecord> records = new ArrayList<>();
}

49
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyQuery.java

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

51
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/LoanRedemptionApplyVo.java

@ -0,0 +1,51 @@
package com.yxt.anrui.riskcenter.api.loanredemptionapply;
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
* @date 2023/11/13 13:32
*/
@Data
public class LoanRedemptionApplyVo implements Vo {
private String sid;
@ApiModelProperty("流程状态")
private String nodeState; // 流程状态
@ApiModelProperty("分公司")
private String company; // 使用组织名称
@ApiModelProperty("申请人")
private String applyName; // 申请人
@ApiModelProperty("申请部门")
private String dept;
@ApiModelProperty("申请日期")
private String applyDate; // 申请日期
@ApiModelProperty("办结日期")
private String closingDate;
@ApiModelProperty("流程定义的id")
private String procDefId; // 流程定义的id
@ApiModelProperty("流程实例的sid")
private String procInstId; // 流程实例的sid
@ApiModelProperty("消贷合同号")
private String loanContractNo;
@ApiModelProperty("资方")
private String bankName;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("客户名称")
private String customer;
@ApiModelProperty("贷款人")
private String borrowerName;
@ApiModelProperty("本次还款金额")
private String amount;
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("车牌号")
private String vehMark;
}

41
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionCompleteDto.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionDelegateQuery.java

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

26
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeQuery.java

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

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionGetNodeVo.java

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

56
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/RedemptionTaskQuery.java

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

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionapply/flow/SubmitRedemptionDto.java

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

32
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVeh.java

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

22
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeign.java

@ -0,0 +1,22 @@
package com.yxt.anrui.riskcenter.api.loanredemptionveh;
import io.swagger.annotations.Api;
import org.springframework.cloud.openfeign.FeignClient;
/**
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "赎回车辆列表")
@FeignClient(
contextId = "anrui-riskcenter-LoanRedemptionVeh",
name = "anrui-riskcenter",
path = "v1/loanredemptionveh",
fallback = LoanRedemptionVehFeignFallback.class)
public interface LoanRedemptionVehFeign {
}

11
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanredemptionveh/LoanRedemptionVehFeignFallback.java

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

44
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java

@ -638,8 +638,48 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
String[] split = planDetails.getLoanContractNo().split("-");
voucherDetail.setCustomerCode(split[0] + split[1]);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
voucherDetail.setCustomerCode(customerNumber);
}
}
voucherDetail.setAmount(repaymentHistory.getActualMoney());
voucherDetails.add(voucherDetail);
}

44
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java

@ -695,8 +695,48 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
String[] split = planDetails.getLoanContractNo().split("-");
voucherDetail.setCustomerCode(split[0] + split[1]);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
voucherDetail.setCustomerCode(customerNumber);
}
}
voucherDetail.setAmount(planDetails.getDueMoney());
voucherDetails.add(voucherDetail);
}

8
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.java

@ -3,11 +3,15 @@ package com.yxt.anrui.riskcenter.biz.loanoverduebank;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBank;
import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankDetailVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankVo;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
@ -17,11 +21,13 @@ import java.util.Map;
**/
@Mapper
public interface LoanOverdueBankMapper extends BaseMapper<LoanOverdueBank> {
IPage<LoanOverdueBankVo> selectPageVo(IPage<LoanOverdueBank> page, QueryWrapper<LoanOverdueBank> qw);
IPage<LoanOverdueBankVo> selectPageVo(IPage<LoanOverdueBank> page, @Param(Constants.WRAPPER) QueryWrapper<LoanOverdueBank> qw);
LoanOverdueBankDetailVo details(String sid);
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> beanToMap);
List<LoanOverdueBankDetailsDto> detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("stopDate") String stopDate);
}

58
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankMapper.xml

@ -39,4 +39,62 @@
</if>
WHERE sid = #{sid}
</update>
<select id="selectPageVo" resultType="com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBankVo">
select lob.sid,
lob.nodeState,
lob.useOrgName,
lob.createDept,
lob.createByName,
DATE_FORMAT(lob.createTime, '%Y-%m-%d') as createTime,
lob.closeDate,
lob.stopDate,
lob.remarks
from loan_overdue_bank lob
<where>
${ew.sqlSegment}
</where>
</select>
<select id="detailsList" resultType="com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto">
SELECT
<!--贷款合同编号-->
a1.`loanContractNo`,
<!--贷款人-->
a1.borrowerName,
<!--资方-->
a1.`bankName`,
<!--资方合同编号-->
a1.`bankContractNo`,
<!--逾期期数-->
COUNT(a1.sid) AS beOverduePeriod,
<!--逾期金额-->
SUM(a1.yq_total) AS beOverdueMoney,
a1.customerSid,
a1.customer
FROM (SELECT lrpd.sid,
lrpd.`loanContractNo`,
lrpd.borrowerName,
lrpd.`bankName`,
lrpd.`bankContractNo`,
lrpd.dueMoney,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
lrpd.customer,
lrpd.customerSid
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
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; #{stopDate}
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

28
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java

@ -4,7 +4,9 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanoverduebank.*;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.*;
import com.yxt.anrui.riskcenter.api.loanoverduefin.DownloadExcelVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinVo;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -12,6 +14,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
@ -23,6 +29,9 @@ import java.util.List;
@RequestMapping("v1/LoanOverdueBank")
public class LoanOverdueBankRest implements LoanOverdueBankFeign {
@Autowired
private HttpServletResponse response;
@Autowired
private LoanOverdueBankService loanOverdueBankService;
@ -43,6 +52,25 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign {
return loanOverdueBankService.details(sid);
}
@Override
public ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query) {
return loanOverdueBankService.details2(query);
}
@Override
public void downloadExcel() {
List<DownExcelOverdueBankVo> list = new ArrayList<>();
//定义导出的excel名字
String excelName = "资方逾期记录导入模板";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, DownExcelOverdueBankVo.class, response);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueBankService.delAllBySids(sids);

77
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanoverduebank;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -18,12 +19,14 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.*;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.SubmitApplyBankDto;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import com.yxt.anrui.riskcenter.biz.loanoverduebankdetails.LoanOverdueBankDetailsService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -523,4 +526,78 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
PagerVo<LoanOverdueBankVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query) {
ResultBean<LoanOverdueBankDetailVo> rb = ResultBean.fireFail();
LoanOverdueBankDetailVo loanOverdueBankDetailVo = new LoanOverdueBankDetailVo();
String sid = query.getSid();
String userSid = query.getUserSid();
String orgPath = query.getOrgPath();
if (StringUtils.isBlank(sid)) {//新增初始化
//根据用户查询发起人、发起部门、发起日期和截止日期均为当前日期,其中发起日期为年月日,截止日期为年月日时分秒
String deptName = "";
String deptSid = "";
String useOrgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
loanOverdueBankDetailVo.setCreateDept(deptName);//销售部门
loanOverdueBankDetailVo.setCreateDeptSid(deptSid);//销售部门sid
loanOverdueBankDetailVo.setUserSid(userSid);//用户sid
loanOverdueBankDetailVo.setCreateByName(userVoResultBean.getData().getName());//发起人
//发起日期
loanOverdueBankDetailVo.setCreateDate(DateUtil.today());
//截止时间
loanOverdueBankDetailVo.setStopDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
List<LoanOverdueBankDetailsDto> detailsVoList = detailsVoList(useOrgSid,loanOverdueBankDetailVo.getStopDate());
loanOverdueBankDetailVo.setDetailsVoList(detailsVoList);
}
} else {//编辑初始化
LoanOverdueBank loanOverdueBank = fetchBySid(sid);
if (loanOverdueBank == null) {
return rb.setMsg("该申请不存在");
}
loanOverdueBankDetailVo = baseMapper.details(sid);
List<LoanOverdueBankDetailsDto> detailsVoList = loanOverdueBankDetailsService.selectByMainSid(sid);
detailsVoList.removeAll(Collections.singleton(null));
if (!detailsVoList.isEmpty()) {
loanOverdueBankDetailVo.setDetailsVoList(detailsVoList);
}
String files = loanOverdueBankDetailVo.getFiles();
if (StringUtils.isNotBlank(files)) {
List<String> fileList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
loanOverdueBankDetailVo.setFilesList(fileList);
}
}
return rb.success().setData(loanOverdueBankDetailVo);
}
public List<LoanOverdueBankDetailsDto> detailsVoList(String useOrgSid, String stopDate) {
QueryWrapper qw = new QueryWrapper();
qw.eq("1", 1);
qw.groupBy("a1.bankContractNo");
qw.groupBy("a1.loanContractNo");
List<LoanOverdueBankDetailsDto> detailsDtoList = baseMapper.detailsList(useOrgSid, qw, stopDate);
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
}

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml

@ -9,7 +9,8 @@
<select id="selectByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto">
select customerName,
select sid,
customerName,
customerSid,
loanName,
loanSid,

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.java

@ -7,9 +7,11 @@ import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFin;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinDetailVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinVo;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
@ -26,4 +28,6 @@ public interface LoanOverdueFinMapper extends BaseMapper<LoanOverdueFin> {
int selectBySid(String join);
int updateFlowFiled(Map<String, Object> beanToMap);
List<LoanOverdueFinDetailsDto> detailsList(@Param("useOrgSid") String useOrgSid, @Param(Constants.WRAPPER) QueryWrapper qw, @Param("stopDate") String stopDate);
}

42
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinMapper.xml

@ -22,11 +22,12 @@
lof.files,
lof.remarks,
lof.createByName,
lof.createBySid userSid,
lof.createBySid userSid,
lof.createDept,
lof.createDeptSid,
lof.orgSidPath orgPath,
lof.stopDate
lof.orgSidPath orgPath,
lof.stopDate,
date_format(lof.createTime, '%Y-%m-%d') as createDate
from loan_overdue_fin lof
where sid = #{sid}
</select>
@ -55,4 +56,39 @@
</if>
WHERE sid = #{sid}
</update>
<select id="detailsList" resultType="com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto">
SELECT a1.busVinSid AS busViNSid,
RIGHT(a1.vinNo, 8) AS vinNo,
<!--逾期金额-->
SUM(a1.yq_total) AS overdueMoney,
a1.customer AS customerName,
a1.customerSid as customerSid,
a1.borrowerSid loanSid,
a1.borrowerName loanName
FROM (SELECT lrpd.sid,
lrpd.busVinSid,
lrpd.borrowerName,
lrpd.`vinNo`,
lrpd.dueMoney,
(
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total,
lrpd.borrowerSid,
lrpd.borrowerName,
lrpd.customerSid,
lrpd.customer
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
WHERE DATE_FORMAT(lrpd.dueDate, '%Y-%m-%d') &lt; #{stopDate}
and lrpd.useOrgSid = #{useOrgSid}
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)) a1
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

28
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java

@ -2,12 +2,14 @@ package com.yxt.anrui.riskcenter.biz.loanoverduefin;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereExportVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.*;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.CompleteDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateVo;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -15,6 +17,10 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
/**
@ -26,6 +32,9 @@ import java.util.List;
@RequestMapping("v1/LoanOverdueFin")
public class LoanOverdueFinRest implements LoanOverdueFinFeign {
@Autowired
private HttpServletResponse response;
@Autowired
private LoanOverdueFinService loanOverdueFinService;
@ -46,6 +55,25 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
return loanOverdueFinService.details(sid);
}
@Override
public ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query) {
return loanOverdueFinService.details2(query);
}
@Override
public void downloadExcel() {
List<DownloadExcelVo> list = new ArrayList<>();
//定义导出的excel名字
String excelName = "财务逾期数据导入模板";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, DownloadExcelVo.class, response);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueFinService.delAllBySids(sids);

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

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanoverduefin;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -18,6 +19,7 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.*;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
@ -520,4 +522,77 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
}
return rb.setMsg("操作失败!提交的数据不一致!");
}
public ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query) {
ResultBean<LoanOverdueFinDetailVo> rb = ResultBean.fireFail();
LoanOverdueFinDetailVo loanOverdueFinDetailVo = new LoanOverdueFinDetailVo();
String sid = query.getSid();
String userSid = query.getUserSid();
String orgPath = query.getOrgPath();
if (StringUtils.isBlank(sid)) {//新增初始化
//根据用户查询发起人、发起部门、发起日期和截止日期均为当前日期,其中发起日期为年月日,截止日期为年月日时分秒
String deptName = "";
String deptSid = "";
String useOrgSid = "";
if (StringUtils.isNotBlank(orgPath)) {
List<String> split = Arrays.asList(orgPath.split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(split.size() - 2)).getData();
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptName = sysOrganization.getName() + "/" + sysOrganization1.getName();
deptName = sysOrganization1.getName();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptName = sysOrganization.getName();
deptName = sysOrganization.getName();
deptSid = sysOrganization.getSid();
}
useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData();
}
//根据用户sid查询人员姓名
ResultBean<SysUserVo> userVoResultBean = sysUserFeign.fetchBySid(userSid);
if (!userVoResultBean.getSuccess()) {
return rb.setMsg(userVoResultBean.getMsg());
}
loanOverdueFinDetailVo.setCreateDept(deptName);//销售部门
loanOverdueFinDetailVo.setCreateDeptSid(deptSid);//销售部门sid
loanOverdueFinDetailVo.setUserSid(userSid);//用户sid
loanOverdueFinDetailVo.setCreateByName(userVoResultBean.getData().getName());//发起人
//发起日期
loanOverdueFinDetailVo.setCreateDate(DateUtil.today());
//截止时间
loanOverdueFinDetailVo.setStopDate(DateUtil.format(new Date(), "yyyy-MM-dd HH:mm:ss"));
List<LoanOverdueFinDetailsDto> detailsList = detailsList(useOrgSid, loanOverdueFinDetailVo.getStopDate());
loanOverdueFinDetailVo.setDetailsVoList(detailsList);
} else {//编辑初始化
LoanOverdueFin loanOverdueFin = fetchBySid(sid);
if (loanOverdueFin == null) {
return rb.setMsg("该申请不存在");
}
loanOverdueFinDetailVo = baseMapper.details(sid);
List<LoanOverdueFinDetailsDto> detailsVoList = loanOverdueFinDetailsService.selectByMainSid(sid);
detailsVoList.removeAll(Collections.singleton(null));
if (!detailsVoList.isEmpty()) {
loanOverdueFinDetailVo.setDetailsVoList(detailsVoList);
}
String files = loanOverdueFinDetailVo.getFiles();
if (StringUtils.isNotBlank(files)) {
List<String> fileList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
loanOverdueFinDetailVo.setFilesList(fileList);
}
}
return rb.success().setData(loanOverdueFinDetailVo);
}
public List<LoanOverdueFinDetailsDto> detailsList(String useOrgSid, String stopDate) {
QueryWrapper qw = new QueryWrapper();
qw.eq("1",1);
qw.groupBy("a1.vinNo");
qw.groupBy("a1.busVinSid");
List<LoanOverdueFinDetailsDto> detailsDtoList = baseMapper.detailsList(useOrgSid, qw, stopDate);
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
}

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefindetails/LoanOverdueFinDetailsMapper.xml

@ -9,13 +9,16 @@
<select id="selectByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto">
select customerName,
select sid,
customerName,
customerSid,
loanName,
loanSid,
overdueMoney,
diffMoney,
tiredDeficiency
tiredDeficiency,
vinNo,
busVinSid
from loan_overdue_fin_details
where mainSid = #{sid}
</select>

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

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.biz.loanredemptionapply;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApply;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyVo;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApply;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Map;
@Mapper
public interface LoanRedemptionApplyMapper extends BaseMapper<LoanRedemptionApply> {
IPage<LoanRedemptionApplyVo> listPage(IPage<LoanRedemptionApply> page, @Param(Constants.WRAPPER) QueryWrapper<LoanRedemptionApply> qw);
//
// int updateFlowFiled(Map<String, Object> map);
//
// int selectNum(String bill);
}

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

@ -0,0 +1,46 @@
<?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.loanredemptionapply.LoanRedemptionApplyMapper">
<update id="updateFlowFiled">
UPDATE loan_buckle_apply
SET nodeState=#{nodeState}
, nodeSid=#{taskDefKey}
<if test="procDefId != null and procDefId != ''">
, procDefId=#{procDefId}
</if>
<if test="procInsId != null and procInsId != ''">
, procInstId=#{procInsId}
</if>
<if test="taskId != null and taskId != ''">
, taskId=#{taskId}
</if>
WHERE sid = #{sid}
</update>
<select id="listPage" resultType="com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo">
SELECT
a.sid,
a.nodeState,
a.useOrgName as company,
a.dept,
a.applyName,
date_format(a.applyDate, '%Y-%m-%d') as applyDate,
a.procDefId,
a.procInstId,
date_format(a.closingDate, '%Y-%m-%d') as closingDate,
a.loanContractNo,
a.bankName,
a.bankContractNo,
a.borrowerName,
a.customer,
a.amount,
v.vinNo,
v.vehMark
FROM loan_redemption_apply as a
LEFT JOIN loan_redemption_veh as v
ON a.sid = v.mainSid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

113
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionapply/LoanRedemptionApplyRest.java

@ -0,0 +1,113 @@
package com.yxt.anrui.riskcenter.biz.loanredemptionapply;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyFeign;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyQuery;
import com.yxt.anrui.riskcenter.api.loanredemptionapply.LoanRedemptionApplyVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@Api(tags = "赎回申请")
@RestController
@RequestMapping("v1/loanredemptionapply")
public class LoanRedemptionApplyRest implements LoanRedemptionApplyFeign {
@Autowired
LoanRedemptionApplyService loanRedemptionApplyService;
@Override
public ResultBean<PagerVo<LoanRedemptionApplyVo>> listPage(PagerQuery<LoanRedemptionApplyQuery> pq) {
ResultBean<PagerVo<LoanRedemptionApplyVo>> rb = ResultBean.fireFail();
PagerVo<LoanRedemptionApplyVo> pv = loanRedemptionApplyService.listPage(pq);
return rb.success().setData(pv);
}
//
// @Override
// public ResultBean<LoanBuckleApplyInit> buckleInit(String[] sids) {
// return loanRedemptionApplyService.buckleInit(sids);
// }
//
//
//
// @Override
// public ResultBean<String> saveBuckle(LoanBuckleApplyDto dto) {
// return loanRedemptionApplyService.saveBuckle(dto);
// }
//
// @Override
// public ResultBean<LoanBuckleApplyInit> buckleDetails(String sid) {
// return loanRedemptionApplyService.buckleDetails(sid);
// }
//
// @Override
// public ResultBean deleteBySids(String[] sids) {
// return loanRedemptionApplyService.deleteBySids(sids);
// }
//
// @Override
// public ResultBean submitRecordApplication(SubmitBuckleDto dto) {
// return loanRedemptionApplyService.submitRecordApplication(dto);
// }
//
// @Override
// public ResultBean complete(BuckleCompleteDto dto) {
// BusinessVariables bv = new BusinessVariables();
// BeanUtil.copyProperties(dto, bv);
// bv.setModelId(ProcDefEnum.LOANBUCKLEAPPLLY.getProDefId());
// return loanRedemptionApplyService.complete(bv);
// }
//
// @Override
// public ResultBean revokeProcess(BuckleTaskQuery query) {
// return loanRedemptionApplyService.revokeProcess(query);
// }
//
// @Override
// public ResultBean taskReject(BuckleTaskQuery query) {
// return loanRedemptionApplyService.taskReject(query);
// }
//
// @Override
// public ResultBean breakProcess(BuckleTaskQuery query) {
// return loanRedemptionApplyService.breakProcess(query);
// }
//
// @Override
// public ResultBean flowRecord(String procInsId) {
// return loanRedemptionApplyService.flowRecord(procInsId);
// }
//
// @Override
// public ResultBean<List<BuckleGetNodeVo>> getNextNodesForSubmit(BuckleGetNodeQuery query) {
// return loanRedemptionApplyService.getNextNodesForSubmit(query);
// }
//
// @Override
// public ResultBean<List<BuckleGetNodeVo>> getPreviousNodesForReject(BuckleGetNodeQuery query) {
// return loanRedemptionApplyService.getPreviousNodesForReject(query);
// }
//
// @Override
// public ResultBean delegate(BuckleDelegateQuery query) {
// return loanRedemptionApplyService.delegate(query);
// }
//
// @Override
// public ResultBean<AppBuckleDetailsVo> appDetail(String sid) {
// return loanRedemptionApplyService.appDetail(sid);
// }
}

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

File diff suppressed because it is too large

18
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.java

@ -0,0 +1,18 @@
package com.yxt.anrui.riskcenter.biz.loanredemptionveh;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@Mapper
public interface LoanRedemptionVehMapper extends BaseMapper<LoanRedemptionVeh> {
int deleteByMainSid(@Param("mainSid") String mainSid);
List<LoanBuckleApplyRecord> selByMainSid(String sid);
}

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehMapper.xml

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanredemptionveh.LoanRedemptionVehMapper">
<delete id="deleteByMainSid">
DELETE
FROM loan_buckle_apply_record
WHERE mainSid = #{mainSid}
</delete>
<select id="selByMainSid"
resultType="com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord">
select *
FROM loan_buckle_apply_record
WHERE mainSid = #{mainSid}
</select>
</mapper>

16
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehRest.java

@ -0,0 +1,16 @@
package com.yxt.anrui.riskcenter.biz.loanredemptionveh;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecordFeign;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVehFeign;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Api(tags = "赎回车辆列表")
@RestController
@RequestMapping("v1/loanredemptionveh")
public class LoanRedemptionVehRest implements LoanRedemptionVehFeign {
}

26
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanredemptionveh/LoanRedemptionVehService.java

@ -0,0 +1,26 @@
package com.yxt.anrui.riskcenter.biz.loanredemptionveh;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanredemptionveh.LoanRedemptionVeh;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @description:
* @author: fzz
* @date: 2023/7/6
**/
@Service
public class LoanRedemptionVehService extends MybatisBaseService<LoanRedemptionVehMapper, LoanRedemptionVeh> {
public int deleteByMainSid(String mainSid) {
return baseMapper.deleteByMainSid(mainSid);
}
public List<LoanBuckleApplyRecord> selByMainSid(String sid) {
return baseMapper.selByMainSid(sid);
}
}

44
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

@ -876,8 +876,48 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
}
String[] split = planDetails.getLoanContractNo().split("-");
voucherDetail.setCustomerCode(split[0] + split[1]);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
voucherDetail.setCustomerCode(customerNumber);
}
}
if (StringUtils.isNotBlank(planDetails.getOutstandingMoney())) {
voucherDetail.setAmount(new BigDecimal(planDetails.getOutstandingMoney()));
}

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

@ -823,8 +823,48 @@ public class LoanTransferPaymentApplyService extends MybatisBaseService<LoanTran
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
String[] split = planDetails.getLoanContractNo().split("-");
voucherDetail.setCustomerCode(split[0] + split[1]);
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(planDetails.getBusVinSid()).getData();
BusSalesOrder salesOrder = busSalesOrderFeign.fetchBySid(planDetails.getSalesOrderSid()).getData();
if (null != salesOrder) {
if (null != busSalesOrderVehicle) {
String customerNumber = "";
//判断财务系统是否有客户
Boolean aBoolean = finKingDeeFeign.customerExistState(busSalesOrderVehicle.getTemporaryNo()).getData();
String linkNo = "";
BusSalesOrderBorrowerDetailsVo borrowerDetailsVo = busSalesOrderBorrowerFeign.fetchDetailsBySid(busSalesOrderVehicle.getBorrowerSid()).getData();
if (!aBoolean) {
// List<BdCustomer> bdCustomers = new ArrayList<>();
BdCustomer bdCustomer = new BdCustomer();
bdCustomer.setFNumber(busSalesOrderVehicle.getTemporaryNo());
bdCustomer.setFShortName(salesOrder.getContractNo());
BasePurchaseSystemDetailsVo data = basePurchaseSystemFeign.fetchDetailsByDeptSid(salesOrder.getPurchaseSystemSid()).getData();
bdCustomer.setTOrgIds(data.getOrgCode());
if (org.apache.commons.lang3.StringUtils.isNotBlank(busSalesOrderVehicle.getLinkNo())) {
String vinNo = busSalesOrderVehicle.getLinkNo();
if (vinNo.length() > 8) {
linkNo = vinNo.substring(vinNo.length() - 8);
} else {
linkNo = busSalesOrderVehicle.getLinkNo();
}
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + linkNo);
}
} else {
if (null != borrowerDetailsVo) {
bdCustomer.setFName(borrowerDetailsVo.getBorrowerName() + busSalesOrderVehicle.getTemporaryNo());
}
}
// bdCustomers.add(bdCustomer);
ResultBean<String> resultBean = finKingDeeFeign.draftBdCustomer(bdCustomer);
if (resultBean.getSuccess()) {
customerNumber = bdCustomer.getFNumber();
}
} else {
customerNumber = busSalesOrderVehicle.getTemporaryNo();
}
voucherDetail.setCustomerCode(customerNumber);
}
}
BigDecimal money = new BigDecimal(0);
if (null != v.getTransferPrincipal()) {
money = v.getTransferPrincipal();

2
doc/databases/risk_center.sql

@ -1309,6 +1309,8 @@ CREATE TABLE `loan_overdue_fin_details`
`customerSid` varchar(64) DEFAULT NULL COMMENT '客户sid',
`loanSid` varchar(64) DEFAULT NULL COMMENT '贷款人sid',
`loanName` varchar(64) DEFAULT NULL COMMENT '贷款人名称',
`vinNo` varchar(64) DEFAULT NULL COMMENT '车架号',
`busVinSid` varchar(64) DEFAULT NULL COMMENT '销售订单车辆表sid',
`overdueMoney` decimal(10, 2) DEFAULT NULL COMMENT '当前逾期金额',
`tiredDeficiency` decimal(10, 2) DEFAULT NULL COMMENT '累欠',
`diffMoney` decimal(10, 2) DEFAULT NULL COMMENT '差异金额',

Loading…
Cancel
Save