Browse Source

贷后账款导出接口

zhanglei
fanzongzhe 1 year ago
parent
commit
4730e86389
  1. 54
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordExportVo.java
  2. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java
  3. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java
  4. 35
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/BuckleExportVo.java
  5. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyFeign.java
  6. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyFeignFallback.java
  7. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfundday/LoanFundDayExportVo.java
  8. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfundday/LoanFundDayFeign.java
  9. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AccListExportVo.java
  10. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java
  11. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java
  12. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java
  13. 35
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/OverdueBankExportVo.java
  14. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  15. 29
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/OverdueFinExportVo.java
  16. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeign.java
  17. 20
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeignFallback.java
  18. 42
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/PreTransferPaymentExportVo.java
  19. 60
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/RecordCountVo.java
  20. 60
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/RepaymentDetailsExportVo.java
  21. 51
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/TransferedPaymentExportVo.java
  22. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java
  23. 39
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml
  24. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java
  25. 81
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  26. 25
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyRest.java
  27. 187
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  28. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayMapper.java
  29. 18
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayMapper.xml
  30. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayRest.java
  31. 88
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayService.java
  32. 24
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java
  33. 47
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyService.java
  34. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java
  35. 17
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java
  36. 14
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  37. 16
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java
  38. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  39. 243
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  40. 68
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryRest.java
  41. 461
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java

54
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/DkRecordExportVo.java

@ -0,0 +1,54 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 15:13
*/
@Data
public class DkRecordExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "分公司名称", EnName = "useOrgName")
private String useOrgName;
@ExportEntityMap(CnName = "销售部门", EnName = "deptName")
private String deptName;
@ExportEntityMap(CnName = "垫款申请编号", EnName = "billNo")
private String billNo;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo; // 贷款合同编号
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo; // 车架号
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName; // 资方
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo; // 资方合同编号
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName; // 客户姓名
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName; // 贷款人名称
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period; // 期数
@ExportEntityMap(CnName = "平台逾期月还", EnName = "sysBeMoney")
private String sysBeMoney; // 系统逾期金额
@ExportEntityMap(CnName = "资方逾期月还", EnName = "bankBeMoney")
private String bankBeMoney; // 资方逾期金额
@ExportEntityMap(CnName = "资方逾期利息", EnName = "bankBeInter")
private String bankBeInter; // 资方逾期罚息
@ExportEntityMap(CnName = "垫款金额", EnName = "padMoney")
private String padMoney; // 垫款金额
@ExportEntityMap(CnName = "付款账户名称", EnName = "paymentAccount")
private String paymentAccount; // 付款账户
@ExportEntityMap(CnName = "付款账号", EnName = "paymentNum")
private String paymentNum; // 付款账号
@ExportEntityMap(CnName = "资方收款账户名称", EnName = "bankCollectionAcc")
private String bankCollectionAcc; // 资方收款账户
@ExportEntityMap(CnName = "资方收款账号", EnName = "bankCollectionNum")
private String bankCollectionNum; // 资方收款账号
@ExportEntityMap(CnName = "备注", EnName = "remarks")
private String remarks;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java

@ -30,6 +30,7 @@ import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.CustomerRecordDelegateQuery;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.TransferPaymentQuery;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery;
@ -148,4 +149,8 @@ public interface LoanBePadsincereApplyFeign {
@ResponseBody
public ResultBean pushAdvancesVoucher(@RequestParam("sid") String sid, @RequestParam("paySid") String paySid);
@ApiOperation("垫还明细列表列表导出")
@PostMapping("/dkListPageExport")
@ResponseBody
public void dkListPageExport(@RequestBody DkRecordQuery query);
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java

@ -146,4 +146,9 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply
return null;
}
@Override
public void dkListPageExport(DkRecordQuery query) {
}
}

35
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/BuckleExportVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.riskcenter.api.loanbuckleapply;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 16:03
*/
@Data
public class BuckleExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "实还金额", EnName = "actualMoney")
private String actualMoney;
// @ExportEntityMap(CnName = "还款状态", EnName = "payState")
// private String payState;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyFeign.java

@ -54,6 +54,11 @@ public interface LoanBuckleApplyFeign {
@PostMapping("/buckleCreatePdf")
public ResultBean<String> buckleCreatePdf(@RequestParam("sid") String sid);
@ApiOperation("月还划扣列表导出")
@PostMapping("/buckleExport")
public void buckleExport(@RequestParam("sid") String sid);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyFeignFallback.java

@ -41,6 +41,11 @@ public class LoanBuckleApplyFeignFallback implements LoanBuckleApplyFeign {
return null;
}
@Override
public void buckleExport(String sid) {
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfundday/LoanFundDayExportVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanfundday;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 15:27
*/
@Data
public class LoanFundDayExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "分公司", EnName = "useOrgName")
private String useOrgName;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName;
@ExportEntityMap(CnName = "销售部门", EnName = "dept")
private String dept;
@ExportEntityMap(CnName = "生成日期", EnName = "createTime")
private String createTime;
@ExportEntityMap(CnName = "生成金额", EnName = "fund")
private String fund;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfundday/LoanFundDayFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanfundday;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.DkRecordQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -7,6 +8,7 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @description:
@ -24,5 +26,8 @@ public interface LoanFundDayFeign {
@PostMapping("/listPage")
ResultBean<PagerVo<LoanFundDayVo>> listPage(@RequestBody PagerQuery<LoanFundDayQuery> pagerQuery);
@ApiOperation("资金占用费明细列表导出")
@PostMapping("/fundDayExport")
@ResponseBody
public void fundDayExport(@RequestBody LoanFundDayQuery query);
}

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/AccListExportVo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 15:47
*/
@Data
public class AccListExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer; //客户
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "应还日期", EnName = "dueDate")
private String dueDate;
@ExportEntityMap(CnName = "应还金额(元)", EnName = "dueMoney")
private String dueMoney;
@ExportEntityMap(CnName = "销售部门", EnName = "salesDept")
private String salesDept;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFallback.java

@ -36,6 +36,11 @@ public class LoanMonthlyAccrualApplyFallback implements LoanMonthlyAccrualApplyF
return null;
}
@Override
public void accrualDetailsExport(String sid) {
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyFeign.java

@ -48,6 +48,12 @@ public interface LoanMonthlyAccrualApplyFeign {
@ResponseBody
public ResultBean<LoanMonthlyAccrualApplyInit> accrualDetails(@RequestParam("sid") String sid);
@ApiOperation("导出月还计提记录")
@PostMapping("/accrualDetailsExport")
@ResponseBody
public void accrualDetailsExport(@RequestParam("sid") String sid);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody

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

@ -39,6 +39,12 @@ public interface LoanOverdueBankFeign {
@PostMapping("/details")
ResultBean<LoanOverdueBankDetailVo> details2(LoanOverdueBankDetailsQuery query);
@ApiOperation("逾期对账(资方)导出")
@PostMapping("/detailsExport")
public void detailsExport(@RequestParam("sid") String sid);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();

35
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/OverdueBankExportVo.java

@ -0,0 +1,35 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 16:22
*/
@Data
public class OverdueBankExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "贷款人", EnName = "loanName")
private String loanName;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "平台逾期金额(元)", EnName = "overdueMoney")
private String overdueMoney;
@ExportEntityMap(CnName = "资方逾期月还(元)", EnName = "bankOverdueMoney")
private String bankOverdueMoney;
@ExportEntityMap(CnName = "差异金额(元)", EnName = "diffMoney")
private String diffMoney;
}

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

@ -39,6 +39,11 @@ public interface LoanOverdueFinFeign {
@PostMapping("/details")
ResultBean<LoanOverdueFinDetailVo> details2(LoanOverdueFinDetailsQuery query);
@ApiOperation("逾期对账(财务)导出")
@PostMapping("/detailsExport")
public void detailsExport(@RequestParam("sid") String sid);
@PostMapping("/downloadExcel")
@ApiOperation(value = "下载模板")
public void downloadExcel();

29
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/OverdueFinExportVo.java

@ -0,0 +1,29 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 16:22
*/
@Data
public class OverdueFinExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customerName")
private String customerName;
@ExportEntityMap(CnName = "贷款人", EnName = "loanName")
private String loanName;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "平台逾期金额(元)", EnName = "overdueMoney")
private String overdueMoney;
@ExportEntityMap(CnName = "财务累欠金额(元)", EnName = "tiredDeficiency")
private String tiredDeficiency;
@ExportEntityMap(CnName = "差异金额(元)", EnName = "diffMoney")
private String diffMoney;
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeign.java

@ -117,5 +117,23 @@ public interface LoanRepaymentHistoryFeign {
@ResponseBody
public void exportExcel(@RequestBody RepaymentStatisticsQuery repaymentStatisticsQuery);
@PostMapping("/exportStatisticsExcel")
@ApiOperation(value = "还款情况统计表导出")
@ResponseBody
public void exportStatisticsExcel(@RequestBody RepaymentStatisticsQuery query);
@PostMapping("/exportDetailsExcel")
@ApiOperation(value = "还款明细导出")
@ResponseBody
public void exportDetailsExcel(@RequestBody RepaymentDetailsListQuery query);
@ApiOperation("间还待转付记录列表导出")
@PostMapping("/preTransferPaymentExcel")
@ResponseBody
public void preTransferPaymentExcel(@RequestBody TransferPaymentQuery query);
@ApiOperation("间还已转付记录列表导出")
@PostMapping("/transferedPaymentExcel")
@ResponseBody
public void transferedPaymentExcel(@RequestBody TransferPaymentQuery query);
}

20
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeignFallback.java

@ -112,4 +112,24 @@ public class LoanRepaymentHistoryFeignFallback implements LoanRepaymentHistoryFe
}
@Override
public void exportStatisticsExcel(RepaymentStatisticsQuery query) {
}
@Override
public void exportDetailsExcel(RepaymentDetailsListQuery query) {
}
@Override
public void preTransferPaymentExcel(TransferPaymentQuery query) {
}
@Override
public void transferedPaymentExcel(TransferPaymentQuery query) {
}
}

42
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/PreTransferPaymentExportVo.java

@ -0,0 +1,42 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 14:43
*/
@Data
public class PreTransferPaymentExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "转付状态", EnName = "paymentState")
private String paymentState; //转付状态
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo; //贷款合同号
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo; //车架号
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName; //资方
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo; //资方合同号
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName; //贷款人
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period; //期数
@ExportEntityMap(CnName = "应还日期", EnName = "dueDate")
private String dueDate; //应还日期
@ExportEntityMap(CnName = "应还金额", EnName = "dueMoney")
private String dueMoney; //应还金额
@ExportEntityMap(CnName = "实还日期", EnName = "actualDate")
private String actualDate; //实还日期
@ExportEntityMap(CnName = "实还金额", EnName = "actualMoney")
private String actualMoney; //实还金额
@ExportEntityMap(CnName = "预转付日期", EnName = "prepareDate")
private String prepareDate; //预转付日期
}

60
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/RecordCountVo.java

@ -0,0 +1,60 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description 还款情况统计
* @date 2024/4/22 13:44
*/
@Data
public class RecordCountVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "分公司", EnName = "useOrgName")
private String useOrgName;
@ExportEntityMap(CnName = "销售部门", EnName = "dept")
private String dept;
@ExportEntityMap(CnName = "销售专员", EnName = "staffName")
private String staffName;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "应还日期", EnName = "dueDate")
private String dueDate;
@ExportEntityMap(CnName = "应还金额", EnName = "dueMoney")
private String dueMoney;
@ExportEntityMap(CnName = "已还金额", EnName = "repaidMoney")
private String repaidMoney;
@ExportEntityMap(CnName = "未还金额", EnName = "outstandingMoney")
private String outstandingMoney;
@ExportEntityMap(CnName = "还款状态", EnName = "returnState")
private String returnState; //01未还 02部分还款 03已还款
@ExportEntityMap(CnName = "公司垫款余额", EnName = "paymentMoney")
private String paymentMoney;
@ExportEntityMap(CnName = "垫资方逾期利息余额", EnName = "bankBeInter")
private String bankBeInter;
@ExportEntityMap(CnName = "资金占用费余额", EnName = "fund")
private String fund;
@ExportEntityMap(CnName = "当前是否逾期", EnName = "nowOverdue")
private String nowOverdue; // 0是1否
@ExportEntityMap(CnName = "本期是否曾逾期", EnName = "dueOverdue")
private String dueOverdue; // 0是1否
@ExportEntityMap(CnName = "更新日期", EnName = "updateDate")
private String updateDate;
}

60
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/RepaymentDetailsExportVo.java

@ -0,0 +1,60 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 14:18
*/
@Data
public class RepaymentDetailsExportVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "分公司", EnName = "useOrgName")
private String useOrgName;
@ExportEntityMap(CnName = "销售部门", EnName = "dept")
private String dept;
@ExportEntityMap(CnName = "销售专员", EnName = "staffName")
private String staffName;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo;
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName;
@ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;
@ExportEntityMap(CnName = "款项类别", EnName = "payCostTitleValue")
private String payCostTitleValue;
@ExportEntityMap(CnName = "应还日期", EnName = "dueDate")
private String dueDate;
@ExportEntityMap(CnName = "应还金额", EnName = "dueMoney")
private String dueMoney;
@ExportEntityMap(CnName = "实还日期", EnName = "actualDate")
private String actualDate;
@ExportEntityMap(CnName = "实还金额", EnName = "actualMoney")
private String actualMoney;
@ExportEntityMap(CnName = "还款方式", EnName = "returnWay")
private String returnWay;
@ExportEntityMap(CnName = "数据日期", EnName = "dataTime")
private String dataTime;
@ExportEntityMap(CnName = "更新日期", EnName = "updateTime")
private String updateTime;
@ExportEntityMap(CnName = "更新状态", EnName = "updateState")
private String updateState;
@ExportEntityMap(CnName = "财务收款单据编号", EnName = "billNo")
private String billNo;
@ExportEntityMap(CnName = "划扣状态", EnName = "buckle")
private String buckle;
@ExportEntityMap(CnName = "划扣申请通过时间", EnName = "closingDate")
private String closingDate;
}

51
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/export/TransferedPaymentExportVo.java

@ -0,0 +1,51 @@
package com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/22 14:45
*/
@Data
public class TransferedPaymentExportVo {
private String sid;
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
@ExportEntityMap(CnName = "贷款合同编号", EnName = "loanContractNo")
private String loanContractNo; //贷款合同号
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo; //车架号
@ExportEntityMap(CnName = "资方", EnName = "bankName")
private String bankName; //资方
@ExportEntityMap(CnName = "资方合同编号", EnName = "bankContractNo")
private String bankContractNo; //资方合同号
@ExportEntityMap(CnName = "客户名称", EnName = "customer")
private String customer;
@ExportEntityMap(CnName = "贷款人", EnName = "borrowerName")
private String borrowerName; //贷款人
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period; //期数
@ExportEntityMap(CnName = "应还日期", EnName = "dueDate")
private String dueDate; //应还日期
@ExportEntityMap(CnName = "应还金额", EnName = "dueMoney")
private String dueMoney; //应还金额
@ExportEntityMap(CnName = "实还日期", EnName = "actualDate")
private String actualDate; //实还日期
@ExportEntityMap(CnName = "实还金额", EnName = "actualMoney")
private String actualMoney; //实还金额
@ExportEntityMap(CnName = "预转付日期", EnName = "prepareDate")
private String prepareDate; //预转付日期
@ExportEntityMap(CnName = "实际转付日期", EnName = "transferDate")
private String transferDate; //实际付日期
@ExportEntityMap(CnName = "转付资方月还", EnName = "transferPrincipal")
private String transferPrincipal;
@ExportEntityMap(CnName = "转付资方逾期利息", EnName = "defaultInterest")
private String defaultInterest;
@ExportEntityMap(CnName = "收款账户名称", EnName = "account")
private String account; //转付账户
@ExportEntityMap(CnName = "收款账号", EnName = "accountNumber")
private String accountNumber;
}

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.java

@ -30,6 +30,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.DkRecordExportVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.DkRecordVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -75,4 +76,5 @@ public interface LoanBePadsincereApplyMapper extends BaseMapper<LoanBePadsincere
String selectNum(String billNo);
List<DkRecordExportVo> dkListPageExport(@Param(Constants.WRAPPER)QueryWrapper<LoanBePadsincereApply> qw);
}

39
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyMapper.xml

@ -81,4 +81,43 @@
${ew.sqlSegment}
</where>
</select>
<select id="dkListPageExport"
resultType="com.yxt.anrui.riskcenter.api.loanbepadsincereapply.DkRecordExportVo">
SELECT
@row_number := @row_number + 1 AS rankNo,
la.useOrgName,
bo.orgName AS deptName,
la.billNo,
lv.vinNo,
lv.`loanContractNo`,
lv.`bankName`,
lv.`bankContractNo`,
lv.`customerName`,
lv.`borrowerName`,
lv.`period`,
lv.`sysBeMoney`,
lv.`bankBeMoney`,
lv.`bankBeInter`,
lv.`padMoney`,
lv.`paymentAccount`,
lv.`paymentNum`,
lv.`bankCollectionAcc`,
lv.`bankCollectionNum`,
la.`remarks`
FROM
loan_be_padsincere_veh lv
LEFT JOIN loan_be_padsincere_apply la
ON lv.mainSid = la.sid
LEFT JOIN anrui_buscenter.`bus_sales_order_vehicle` bv
ON bv.`sid` = lv.`saleVehSid`
LEFT JOIN anrui_buscenter.`bus_sales_order` bo
ON bo.`sid` = bv.`salesOrderSid`,
(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

17
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java

@ -36,6 +36,7 @@ import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.TransferedPaymentExportVo;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
@ -221,4 +222,20 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign {
public ResultBean pushAdvancesVoucher(String sid, String paySid) {
return loanBePadsincereApplyService.pushAdvancesVoucher(sid,paySid);
}
@Override
public void dkListPageExport(DkRecordQuery query) {
//得到所有要导出的数据
List<DkRecordExportVo> records = loanBePadsincereApplyService.dkListPageExport(query);
//定义导出的excel名字
String excelName = "垫款明细列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, DkRecordExportVo.class, response);
}
}

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

@ -1419,4 +1419,85 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
}
return rb.success().setData(finalPath);
}
public List<DkRecordExportVo> dkListPageExport(DkRecordQuery query) {
QueryWrapper<LoanBePadsincereApply> qw = new QueryWrapper<>();
//========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid());
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("la.orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("la.orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("la.orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("la.orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("la.createBySid", query.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
}
qw.eq("la.nodeState", "已办结");
if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("la.useOrgName", query.getUseOrgName());
}
if (StringUtils.isNotBlank(query.getDeptName())) {
qw.like("la.deptName", query.getDeptName());
}
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("la.billNo", query.getBillNo());
}
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("lv.vinNo", query.getVinNo());
}
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("lv.loanContractNo", query.getLoanContractNo());
}
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("lv.bankContractNo", query.getBankContractNo());
}
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("lv.bankName", query.getBankName());
}
if (StringUtils.isNotBlank(query.getCustName())) {
qw.like("lv.customerName", query.getCustName());
}
if (StringUtils.isNotBlank(query.getBorrowerName())) {
qw.like("lv.borrowerName", query.getBorrowerName());
}
if (StringUtils.isNotBlank(query.getPeriod())) {
qw.like("lv.period", query.getPeriod());
}
if (StringUtils.isNotBlank(query.getPaymentAccount())) {
qw.like("lv.paymentAccount", query.getPaymentAccount());
}
if (StringUtils.isNotBlank(query.getBankCollectionAcc())) {
qw.like("lv.bankCollectionAcc", query.getBankCollectionAcc());
}
List<DkRecordExportVo> recordVos = baseMapper.dkListPageExport(qw);
return recordVos;
}
}

25
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyRest.java

@ -6,8 +6,7 @@ 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.loancustomerrecord.LoanCustomerRecord;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.*;
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;
@ -16,6 +15,9 @@ 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.List;
@ -26,7 +28,8 @@ public class LoanBuckleApplyRest implements LoanBuckleApplyFeign {
@Autowired
LoanBuckleApplyService loanBuckleApplyService;
@Autowired
private HttpServletResponse response;
@Override
public ResultBean<PagerVo<LoanBuckleApplyVo>> listPage(PagerQuery<LoanBuckleApplyQuery> pq) {
ResultBean<PagerVo<LoanBuckleApplyVo>> rb = ResultBean.fireFail();
@ -56,6 +59,22 @@ public class LoanBuckleApplyRest implements LoanBuckleApplyFeign {
return loanBuckleApplyService.buckleCreatePdf(sid);
}
@Override
public void buckleExport(String sid) {
//得到所有要导出的数据
List<BuckleExportVo> records = loanBuckleApplyService.buckleExport(sid);
//定义导出的excel名字
String excelName = "划扣列表记录";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, BuckleExportVo.class, response);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return loanBuckleApplyService.deleteBySids(sids);

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

@ -676,6 +676,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
return rb.setMsg("操作失败!提交的数据不一致");
}
}
private void pushLaterBuckleVoucher(String businessSid) {
List<LoanBuckleApplyRecord> records = loanBuckleApplyRecordService.selByMainSid(businessSid);
if (!records.isEmpty()) {
@ -685,78 +686,78 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
planSids.add(r.getRepaymentHistorySid());
});
if (!planSids.isEmpty()) {
List<LoanPlanDetailsVoForLateVoucher> vouchers = loanRepaymentPlanDetailsService.selPushLaterVoucherOnBuckle(planSids);
if (!vouchers.isEmpty()) {
GeneralVoucher generalVoucher = new GeneralVoucher();
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
for (LoanPlanDetailsVoForLateVoucher planDetails : vouchers) {
finalPlanSids.add(planDetails.getPlanSid());
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
if (StringUtils.isNotBlank(planDetails.getUseOrgSid())) {
String useOrgSid = planDetails.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
}
if (StringUtils.isNotBlank(planDetails.getDeptSid())) {
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
}
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()));
}
voucherDetails.add(voucherDetail);
List<LoanPlanDetailsVoForLateVoucher> vouchers = loanRepaymentPlanDetailsService.selPushLaterVoucherOnBuckle(planSids);
if (!vouchers.isEmpty()) {
GeneralVoucher generalVoucher = new GeneralVoucher();
List<GeneralVoucher.GeneralVoucherDetail> voucherDetails = new ArrayList<>();
for (LoanPlanDetailsVoForLateVoucher planDetails : vouchers) {
finalPlanSids.add(planDetails.getPlanSid());
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
if (StringUtils.isNotBlank(planDetails.getUseOrgSid())) {
String useOrgSid = planDetails.getUseOrgSid();
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData();
if (null != organizationVo) {
generalVoucher.setUseOrgCode(organizationVo.getOrgCode());
}
}
if (StringUtils.isNotBlank(planDetails.getDeptSid())) {
String deptSid = planDetails.getDeptSid();
SysOrganizationVo organizationDeptVo = sysOrganizationFeign.fetchBySid(deptSid).getData();
if (null != organizationDeptVo) {
voucherDetail.setDeptCode(organizationDeptVo.getOrgCode());
}
}
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()));
}
voucherDetails.add(voucherDetail);
}
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveLateVoucher(generalVoucher);
}
}
generalVoucher.setVoucherDetails(voucherDetails);
finKingDeeFeign.saveLateVoucher(generalVoucher);
}
}
if (!finalPlanSids.isEmpty()) {
int i = loanRepaymentPlanDetailsService.updateOweState(finalPlanSids);
@ -773,7 +774,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(v.getRepaymentHistorySid());
if (null != planDetails) {
GeneralVoucher.GeneralVoucherDetail voucherDetail = new GeneralVoucher.GeneralVoucherDetail();
// oweState 是否转累欠状态(0是,1否)
// oweState 是否转累欠状态(0是,1否)
Integer oweState = planDetails.getOweState();
if (oweState == 1) {
voucherDetail.setSceneCode("01");
@ -1382,4 +1383,46 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
return rb.success().setData(finalPath);
}
public List<BuckleExportVo> buckleExport(String sid) {
List<LoanBuckleApplyRecord> records = loanBuckleApplyRecordService.selByMainSid(sid);
List<BuckleExportVo> recordList = new ArrayList<>();
if (!records.isEmpty()) {
int id = 1;
for (LoanBuckleApplyRecord r : records) {
BuckleExportVo record = new BuckleExportVo();
LoanRepaymentPlanDetails planDetails = loanRepaymentPlanDetailsService.fetchBySid(r.getRepaymentHistorySid());
if (null != planDetails) {
if (StringUtils.isNotBlank(planDetails.getLoanContractNo())) {
record.setLoanContractNo(planDetails.getLoanContractNo());
}
if (StringUtils.isNotBlank(planDetails.getVinNo())) {
record.setVinNo(planDetails.getVinNo());
}
if (StringUtils.isNotBlank(planDetails.getBankName())) {
record.setBankName(planDetails.getBankName());
}
if (StringUtils.isNotBlank(planDetails.getBankContractNo())) {
record.setBankContractNo(planDetails.getBankContractNo());
}
if (StringUtils.isNotBlank(planDetails.getCustomer())) {
record.setCustomer(planDetails.getCustomer());
}
if (StringUtils.isNotBlank(planDetails.getBorrowerName())) {
record.setBorrowerName(planDetails.getBorrowerName());
}
if (StringUtils.isNotBlank(planDetails.getPeriod())) {
record.setPeriod(planDetails.getPeriod());
}
}
if (r.getActualMoney() != null) {
record.setActualMoney(r.getActualMoney().toString());
}
record.setRankNo(id);
id = id + 1;
recordList.add(record);
}
}
return recordList;
}
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayMapper.java

@ -5,10 +5,13 @@ 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.loanfundday.LoanFundDay;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayExportVo;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -17,4 +20,6 @@ import org.apache.ibatis.annotations.Param;
@Mapper
public interface LoanFundDayMapper extends BaseMapper<LoanFundDay> {
IPage<LoanFundDayVo> listPage(IPage<LoanFundDay> page, @Param(Constants.WRAPPER) QueryWrapper<LoanFundDay> qw);
List<LoanFundDayExportVo> fundDayExport(@Param(Constants.WRAPPER) QueryWrapper<LoanFundDay> qw);
}

18
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayMapper.xml

@ -19,4 +19,22 @@
</where>
order by lfd.createTime desc
</select>
<select id="fundDayExport" resultType="com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayExportVo">
select
lrd.loanContractNo,
lrd.bankName,
lrd.bankContractNo,
lrd.vinNo,
lrd.period,
lrd.borrowerName,
lrd.dept,
DATE_FORMAT(lfd.createTime, '%Y-%m-%d') as createTime,
lfd.fund,
lrd.useOrgName
from loan_fund_day lfd
left join loan_repayment_plan_details lrd on lrd.sid = lfd.busSid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

27
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayRest.java

@ -1,8 +1,11 @@
package com.yxt.anrui.riskcenter.biz.loanfundday;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayExportVo;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayFeign;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayQuery;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayVo;
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;
@ -10,6 +13,11 @@ 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.List;
/**
* @description:
* @author: dimengzhe
@ -21,11 +29,28 @@ public class LoanFundDayRest implements LoanFundDayFeign {
@Autowired
private LoanFundDayService loanFundDayService;
@Autowired
private HttpServletResponse response;
@Override
public ResultBean<PagerVo<LoanFundDayVo>> listPage(PagerQuery<LoanFundDayQuery> pagerQuery) {
ResultBean<PagerVo<LoanFundDayVo>> rb = ResultBean.fireFail();
PagerVo<LoanFundDayVo> pv = loanFundDayService.listPage(pagerQuery);
return rb.success().setData(pv);
}
@Override
public void fundDayExport(LoanFundDayQuery query) {
//得到所有要导出的数据
List<LoanFundDayExportVo> records = loanFundDayService.fundDayExport(query);
//定义导出的excel名字
String excelName = "资金占用费明细列表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, LoanFundDayExportVo.class, response);
}
}

88
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanfundday/LoanFundDayService.java

@ -6,6 +6,7 @@ import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyVo;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDay;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayExportVo;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayQuery;
import com.yxt.anrui.riskcenter.api.loanfundday.LoanFundDayVo;
import com.yxt.common.base.service.MybatisBaseService;
@ -17,6 +18,9 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
@ -109,4 +113,88 @@ public class LoanFundDayService extends MybatisBaseService<LoanFundDayMapper, Lo
PagerVo<LoanFundDayVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public List<LoanFundDayExportVo> fundDayExport(LoanFundDayQuery query) {
QueryWrapper<LoanFundDay> qw = new QueryWrapper<>();
//单据日期开始时间-单据日期结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (lfd.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (lfd.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
//合同编号
if (StringUtils.isNotBlank(query.getLoanContractNo())) {
qw.like("lrd.loanContractNo", query.getLoanContractNo());
}
//资方
if (StringUtils.isNotBlank(query.getBankName())) {
qw.like("lrd.bankName", query.getBankName());
}
//资方合同编号
if (StringUtils.isNotBlank(query.getBankContractNo())) {
qw.like("lrd.bankContractNo", query.getBankContractNo());
}
//销售部门
if (StringUtils.isNotBlank(query.getDept())) {
qw.like("lrd.dept", query.getDept());
}
//车架号
if (StringUtils.isNotBlank(query.getVinNo())) {
qw.like("lrd.vinNo", query.getVinNo());
}
//期数
if (StringUtils.isNotBlank(query.getPeriod())) {
qw.like("lrd.period", query.getPeriod());
}
//贷款人
if (StringUtils.isNotBlank(query.getBorrowerName())) {
qw.like("lrd.borrowerName", query.getBorrowerName());
}
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 (org.apache.commons.lang3.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("lrd.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("lrd.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("lrd.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("lrd.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("lrd.createBySid", query.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
}
qw.eq("1","1");
qw.orderByDesc("lfd.createTime");
List<LoanFundDayExportVo> exportVos = baseMapper.fundDayExport(qw);
if (!exportVos.isEmpty()) {
int id = 1;
for (LoanFundDayExportVo exportVo : exportVos) {
exportVo.setRankNo(id);
id = id + 1;
}
}
return exportVos;
}
}

24
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanmonthlyaccrualapply/LoanMonthlyAccrualApplyRest.java

@ -3,8 +3,10 @@ package com.yxt.anrui.riskcenter.biz.loanmonthlyaccrualapply;
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.loanfundday.LoanFundDayExportVo;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.*;
import com.yxt.anrui.riskcenter.api.loanmonthlyaccrualapply.flow.*;
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;
@ -13,6 +15,9 @@ 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.List;
@ -23,7 +28,8 @@ public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign
@Autowired
LoanMonthlyAccrualApplyService loanMonthlyAccrualApplyService;
@Autowired
private HttpServletResponse response;
@Override
public ResultBean<PagerVo<LoanMonthlyAccrualApplyVo>> listPage(PagerQuery<LoanMonthlyAccrualApplyQuery> pq) {
ResultBean<PagerVo<LoanMonthlyAccrualApplyVo>> rb = ResultBean.fireFail();
@ -46,6 +52,22 @@ public class LoanMonthlyAccrualApplyRest implements LoanMonthlyAccrualApplyFeign
return loanMonthlyAccrualApplyService.accrualDetails(sid);
}
@Override
public void accrualDetailsExport(String sid) {
//得到所有要导出的数据
List<AccListExportVo> records = loanMonthlyAccrualApplyService.accrualDetailsExport(sid);
//定义导出的excel名字
String excelName = "月还计提记录";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, AccListExportVo.class, response);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return loanMonthlyAccrualApplyService.deleteBySids(sids);

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

@ -1200,4 +1200,51 @@ public class LoanMonthlyAccrualApplyService extends MybatisBaseService<LoanMonth
}
return rb.success().setData(finalPath);
}
public List<AccListExportVo> accrualDetailsExport(String sid) {
List<LoanMonthlyAccrualRecord> records = loanMonthlyAccrualRecordService.selByMainSid(sid);
List<AccListExportVo> recordList = new ArrayList<>();
if (!records.isEmpty()) {
int id = 1;
for (LoanMonthlyAccrualRecord accrualRecord : records) {
String recordSid = accrualRecord.getRecordSid();
LoanRepaymentPlanDetails details = loanRepaymentPlanDetailsService.fetchBySid(recordSid);
if (null != details) {
AccListExportVo record = new AccListExportVo();
if (StringUtils.isNotBlank(details.getLoanContractNo())) {
record.setLoanContractNo(details.getLoanContractNo());
}
if (StringUtils.isNotBlank(details.getCustomer())) {
record.setCustomer(details.getCustomer());
}
if (StringUtils.isNotBlank(details.getVinNo())) {
record.setVinNo(details.getVinNo());
}
if (StringUtils.isNotBlank(details.getBankName())) {
record.setBankName(details.getBankName());
}
if (StringUtils.isNotBlank(details.getBankContractNo())) {
record.setBankContractNo(details.getBankContractNo());
}
if (StringUtils.isNotBlank(details.getBorrowerName())) {
record.setBorrowerName(details.getBorrowerName());
}
if (StringUtils.isNotBlank(details.getPeriod())) {
record.setPeriod(details.getPeriod());
}
record.setDueDate(DateUtil.formatDate(details.getDueDate()));
if (null != details.getDueMoney()) {
record.setDueMoney(String.valueOf(details.getDueMoney()));
}
if (StringUtils.isNotBlank(details.getDept())) {
record.setSalesDept(details.getDept());
}
record.setRankNo(id);
id = id + 1;
recordList.add(record);
}
}
}
return recordList;
}
}

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

@ -57,6 +57,20 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign {
return loanOverdueBankService.details2(query);
}
@Override
public void detailsExport(String sid) {
List<OverdueBankExportVo> list = loanOverdueBankService.detailsExport(sid);
//定义导出的excel名字
String excelName = "资方逾期记录";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, OverdueBankExportVo.class, response);
}
@Override
public void downloadExcel() {
List<DownExcelOverdueBankVo> list = new ArrayList<>();

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

@ -871,4 +871,21 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
}
return rb.success().setData(loanOverdueBankAppDetailsVo);
}
public List<OverdueBankExportVo> detailsExport(String sid) {
List<OverdueBankExportVo> list = new ArrayList<>();
List<LoanOverdueBankDetailsDto> detailsVoList = loanOverdueBankDetailsService.selectByMainSid(sid);
detailsVoList.removeAll(Collections.singleton(null));
if (!detailsVoList.isEmpty()) {
int id = 1;
for (LoanOverdueBankDetailsDto loanOverdueBankDetailsDto : detailsVoList) {
OverdueBankExportVo vo = new OverdueBankExportVo();
BeanUtil.copyProperties(loanOverdueBankDetailsDto, vo);
vo.setRankNo(id);
id = id + 1;
list.add(vo);
}
}
return list;
}
}

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

@ -57,6 +57,20 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
return loanOverdueFinService.details2(query);
}
@Override
public void detailsExport(String sid) {
List<OverdueFinExportVo> list = loanOverdueFinService.detailsExport(sid);
//定义导出的excel名字
String excelName = "财务逾期数据";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, list, OverdueFinExportVo.class, response);
}
@Override
public void downloadExcel() {
List<DownloadExcelVo> list = new ArrayList<>();

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

@ -1057,4 +1057,20 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
}
return rb.success().setData(finalPath);
}
public List<OverdueFinExportVo> detailsExport(String sid) {
List<LoanOverdueFinDetailsDto> detailsVoList = loanOverdueFinDetailsService.selectByMainSid(sid);
List<OverdueFinExportVo> list = new ArrayList<>();
if (!detailsVoList.isEmpty()) {
int id = 1;
for (LoanOverdueFinDetailsDto loanOverdueFinDetailsDto : detailsVoList) {
OverdueFinExportVo vo = new OverdueFinExportVo();
BeanUtil.copyProperties(loanOverdueFinDetailsDto,vo);
vo.setRankNo(id);
id = id + 1;
list.add(vo);
}
}
return list;
}
}

12
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java

@ -5,6 +5,10 @@ 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.loanrepaymenthistory.*;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.PreTransferPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RepaymentDetailsExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.TransferedPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -67,4 +71,12 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
List<String> selSidsForBuckle(@Param("useOrgSid") String useOrgSid);
int setBuckleState(@Param("sids")List<String> sids,@Param("buckleKey") String buckleKey,@Param("buckle") String buckle);
List<RecordCountVo> exportStatisticsExcel(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
List<RepaymentDetailsExportVo> exportDetailsExcel(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
List<PreTransferPaymentExportVo> preTransferPaymentExcel(@Param(Constants.WRAPPER) QueryWrapper<LoanRepaymentHistory> qw);
List<TransferedPaymentExportVo> transferedPaymentExcel(@Param(Constants.WRAPPER)QueryWrapper<LoanRepaymentHistory> qw);
}

243
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml

@ -640,5 +640,248 @@
WHERE
sumActualMoney = 0
</select>
<select id="exportStatisticsExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo">
SELECT DISTINCT
a.*,
(SELECT
(fjj.reveivableMoney - fjj.m)
FROM
(SELECT
IFNULL((SELECT SUM(subscriptionMoney) FROM anrui_fin.fin_selected_receivables_detailed as s
WHERE s.auditState = '3'
and s.receivablesSid = fj.sid),0) as m,
fj.*
FROM
(SELECT j.busSid,j.sid,j.reveivableMoney FROM anrui_fin.fin_uncollected_receivables_detailed_jr as j
WHERE j.payCostTitleKey = '006') as fj ) as fjj
WHERE fjj.busSid = a.sid) as fund
FROM
(
SELECT
pd.busVinSid,
pd.dueDate,
s.createBySid,
s.orgSidPath,
pd.sid,
pd.useOrgName,
pd.dept,
pd.bankName,
pd.staffName,
pd.loanContractNo,
pd.vinNo,
pd.bankContractNo,
pd.customer,
pd.borrowerName,
pd.period,
pd.paymentMoney,
pd.paymentInterest as bankBeInter,
pd.dueMoney,
t.repaidMoney,
t.outstandingMoney,
CASE
WHEN pd.overdue = '0' THEN '是'
WHEN pd.overdue = '1' THEN '否'
END AS dueOverdue,
pd.updateTime as updateDate,
CASE
WHEN t.repaidMoney = 0 THEN
'未还'
WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &lt; pd.dueMoney THEN '部分还款' WHEN t.repaidMoney &gt; 0
AND t.repaidMoney &gt;= pd.dueMoney THEN
'已还款'
END AS returnState
FROM
loan_repayment_plan_details AS pd
LEFT JOIN anrui_buscenter.bus_sales_order AS s ON s.sid = pd.salesOrderSid
LEFT JOIN (
SELECT
p.sid,
IFNULL((SELECT
SUM(
IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'),0) as repaidMoney
,
IFNULL(
(p.dueMoney - IFNULL((SELECT
SUM(IFNULL( h.actualMoney, 0 ))
FROM
loan_repayment_history AS h
WHERE
h.planDetailSid = p.sid
AND h.updateState = '1'
),0)),0) AS outstandingMoney
FROM
loan_repayment_plan_details AS p
) AS t ON pd.sid = t.sid
) AS a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="exportDetailsExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RepaymentDetailsExportVo">
SELECT DISTINCT
@row_number := @row_number + 1 AS rankNo,
a.*
FROM
(
SELECT
p.useOrgName,
p.dept,
p.staffName,
p.loanContractNo,
p.vinNo,
p.bankName,
p.bankContractNo,
p.customer,
p.borrowerName,
p.period,
p.dueDate,
p.dueMoney,
h.actualDate,
h.actualMoney,
h.returnWay,
date_format( h.dataTime, '%Y-%m-%d' ) AS dataTime,
date_format( h.updateTime, '%Y-%m-%d' ) AS updateTime,
h.updateState,
h.buckle,
date_format( h.closingDate, '%Y-%m-%d' ) AS closingDate,
h.skdBillNo AS billNo,
'月还' AS payCostTitleValue,
p.orgSidPath,
p.salesUserSid
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid UNION ALL
SELECT
p.useOrgName,
p.dept,
p.staffName,
p.loanContractNo,
p.vinNo,
p.bankName,
p.bankContractNo,
p.customer,
p.borrowerName,
p.period,
'' AS dueDate,
j.reveivableMoney AS dueMoney,
s.subscriptionDate AS actualDate,
s.subscriptionMoney AS actualMoney,
'' AS returnWay,
'' AS dataTime,
'' AS updateTime,
'' AS updateState,
'' AS buckle,
'' AS closingDate,
c.billNo AS billNo,
s.receivablesName AS payCostTitleValue,
p.orgSidPath,
p.salesUserSid
FROM
anrui_fin.fin_selected_receivables_detailed AS s
LEFT JOIN anrui_fin.fin_uncollected_receivables_detailed_jr AS j ON s.receivablesSid = j.sid
LEFT JOIN anrui_fin.fin_collection_confirmation AS c ON s.collSid = c.sid
LEFT JOIN loan_repayment_plan_details AS p ON j.busSid = p.sid
WHERE
s.receivablesName = '资金占用费'
OR s.receivablesName = '资方逾期利息'
AND s.auditState = 3
) AS a,(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
<select id="preTransferPaymentExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.PreTransferPaymentExportVo">
SELECT
@row_number := @row_number + 1 AS rankNo,
h.sid,
h.paymentState,
p.loanContractNo,
p.vinNo,
p.bankContractNo,
p.bankName,
p.customer,
p.period,
p.borrowerName,
p.dueDate,
p.dueMoney,
date_format(h.actualDate, '%Y-%m-%d') AS actualDate,
h.actualMoney,
h.planDetailSid,
-- r.spread,
-- r.transferPrincipal,
-- r.defaultInterest,
-- r.accountType,
-- r.account,
-- r.accountNumber,
date_format(h.transferDate, '%Y-%m-%d') AS transferDate,
date_format(h.prepareDate, '%Y-%m-%d') AS prepareDate
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
-- LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid
LEFT JOIN loan_solutions as s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy as po ON s.policySid = po.sid
LEFT JOIN loan_fin_bank as b ON b.sid = po.bankSid,
(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
<select id="transferedPaymentExcel"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.TransferedPaymentExportVo">
SELECT
@row_number := @row_number + 1 AS rankNo,
h.sid,
h.paymentState,
p.loanContractNo,
p.vinNo,
p.bankContractNo,
p.bankName,
p.customer,
p.period,
p.borrowerName,
p.dueDate,
p.dueMoney,
date_format(h.actualDate, '%Y-%m-%d') AS actualDate,
h.actualMoney,
h.planDetailSid,
-- r.spread,
-- r.transferPrincipal,
-- r.defaultInterest,
-- r.accountType,
-- r.account,
-- r.accountNumber,
date_format(h.transferDate, '%Y-%m-%d') AS transferDate,
date_format(h.prepareDate, '%Y-%m-%d') AS prepareDate
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
-- LEFT JOIN loan_transfer_payment_record AS r ON h.sid = r.repaymentHistorySid
LEFT JOIN loan_solutions as s ON p.salesOrderSid = s.salesOrderSid
LEFT JOIN loan_fin_policy as po ON s.policySid = po.sid
LEFT JOIN loan_fin_bank as b ON b.sid = po.bankSid,
(
SELECT
@row_number := 0
) AS t
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

68
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryRest.java

@ -5,6 +5,10 @@ import com.yxt.anrui.crm.api.crmcustomertemp.CrmCustomerTempExportVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyInit;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.PreTransferPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RepaymentDetailsExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.TransferedPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetailsFeign;
import com.yxt.common.base.utils.ExportExcelUtils;
@ -176,5 +180,69 @@ public class LoanRepaymentHistoryRest implements LoanRepaymentHistoryFeign {
ExportExcelUtils.export(fileNameURL, repaymentStatisticsExportVos, RepaymentStatisticsExportVo.class, response);
}
@Override
public void exportStatisticsExcel(RepaymentStatisticsQuery query) {
//得到所有要导出的数据
List<RecordCountVo> recordCountVos = loanRepaymentHistoryService.exportStatisticsExcel(query);
//定义导出的excel名字
String excelName = "客户月还还款统计表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, recordCountVos, RecordCountVo.class, response);
}
@Override
public void exportDetailsExcel(RepaymentDetailsListQuery query) {
//得到所有要导出的数据
List<RepaymentDetailsExportVo> records = loanRepaymentHistoryService.exportDetailsExcel(query);
//定义导出的excel名字
String excelName = "客户月还记录表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, RepaymentDetailsExportVo.class, response);
}
@Override
public void preTransferPaymentExcel(TransferPaymentQuery query) {
//得到所有要导出的数据
List<PreTransferPaymentExportVo> records = loanRepaymentHistoryService.preTransferPaymentExcel(query);
//定义导出的excel名字
String excelName = "客户月还记录表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, PreTransferPaymentExportVo.class, response);
}
@Override
public void transferedPaymentExcel(TransferPaymentQuery query) {
//得到所有要导出的数据
List<TransferedPaymentExportVo> records = loanRepaymentHistoryService.transferedPaymentExcel(query);
//定义导出的excel名字
String excelName = "客户月还记录表";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
//导出列表
ExportExcelUtils.export(fileNameURL, records, TransferedPaymentExportVo.class, response);
}
}

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

@ -40,6 +40,10 @@ import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterQuery;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.*;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.PreTransferPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RecordCountVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.RepaymentDetailsExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.export.TransferedPaymentExportVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.utils.CollectorsUtil;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.CheckPayStateVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanPlanDetailsVoForLateVoucher;
@ -1689,4 +1693,461 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
}
return rb.success();
}
public List<RecordCountVo> exportStatisticsExcel(RepaymentStatisticsQuery pagerQuery) {
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("a.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("a.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("a.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("a.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", pagerQuery.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
//=======================
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) {
qw.like("a.useOrgName", pagerQuery.getUseOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("a.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getDept())) {
qw.like("a.dept", pagerQuery.getDept());
}
if (StringUtils.isNotBlank(pagerQuery.getReturnState())) {
qw.eq("a.returnState", pagerQuery.getReturnState());
}
if (StringUtils.isNotBlank(pagerQuery.getStaffName())) {
qw.like("a.staffName", pagerQuery.getStaffName());
}
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
qw.like("a.loanContractNo", pagerQuery.getLoanContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getPeriod())) {
qw.eq("a.period", pagerQuery.getPeriod());
}
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("a.bankName", pagerQuery.getBankName());
}
if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
qw.like("a.bankContractNo", pagerQuery.getBankContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getCustomer())) {
qw.like("a.customer", pagerQuery.getCustomer());
}
if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
qw.like("a.borrowerName", pagerQuery.getBorrowerName());
}
if (StringUtils.isNotBlank(pagerQuery.getDueOverdue())) {
qw.eq("a.dueOverdue", pagerQuery.getDueOverdue());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dueEndDate), "date_format (a.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
);
String updateStartDate = pagerQuery.getUpdateStartDate();
String updateEndDate = pagerQuery.getUpdateEndDate();
qw.apply(StringUtils.isNotEmpty(updateStartDate), "date_format (a.updateDate,'%Y-%m-%d') >= date_format('" + updateStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(updateEndDate), "date_format (a.updateDate,'%Y-%m-%d') <= date_format('" + updateEndDate + "','%Y-%m-%d')"
);
qw.eq("1", "1");
qw.orderBy(true, true, "a.useOrgName")
.orderBy(true, true, "a.vinNo")
.orderBy(true, true, "a.period")
.orderBy(true, true, "a.loanContractNo")
;
List<RecordCountVo> records = baseMapper.exportStatisticsExcel(qw);
records.removeAll(Collections.singleton(null));
int id = 1;
if (!records.isEmpty()) {
for (RecordCountVo record : records) {
if (StringUtils.isNotBlank(record.getUpdateDate())) {
try {
Date u = sdf.parse(record.getUpdateDate());
Date d = sdf.parse(record.getDueDate());
if (d.compareTo(u) <= 0) {
BigDecimal sum = new BigDecimal(0);
if (StringUtils.isNotBlank(record.getOutstandingMoney())) {
sum = new BigDecimal(record.getOutstandingMoney());
}
if (StringUtils.isNotBlank(record.getFund())) {
sum = sum.add(new BigDecimal(record.getFund()));
}
if (StringUtils.isNotBlank(record.getBankBeInter())) {
sum = sum.add(new BigDecimal(record.getBankBeInter()));
}
if (sum.compareTo(BigDecimal.ZERO) > 0) {
record.setNowOverdue("是");
} else {
record.setNowOverdue("否");
}
} else {
record.setNowOverdue("否");
}
} catch (ParseException e) {
e.printStackTrace();
}
} else {
record.setNowOverdue("否");
}
record.setRankNo(id);
id = id + 1;
}
}
if (StringUtils.isNotBlank(pagerQuery.getNowOverdue())) {
records = records.stream().filter(r -> r.getNowOverdue().equals(pagerQuery.getNowOverdue()))
.collect(Collectors.toList());
}
return records;
}
public List<RepaymentDetailsExportVo> exportDetailsExcel(RepaymentDetailsListQuery pagerQuery) {
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("a.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("a.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("a.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("a.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.salesUserSid", pagerQuery.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
//=======================
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("a.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) {
qw.like("a.useOrgName", pagerQuery.getUseOrgName());
}
if (StringUtils.isNotBlank(pagerQuery.getDept())) {
qw.like("a.dept", pagerQuery.getDept());
}
if (StringUtils.isNotBlank(pagerQuery.getReturnWayKey())) {
qw.like("a.returnWayKey", pagerQuery.getReturnWayKey());
}
if (StringUtils.isNotBlank(pagerQuery.getStaffName())) {
qw.like("a.staffName", pagerQuery.getStaffName());
}
if (StringUtils.isNotBlank(pagerQuery.getBuckleKey())) {
qw.like("a.buckleKey", pagerQuery.getBuckleKey());
}
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
qw.like("a.loanContractNo", pagerQuery.getLoanContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getPeriod())) {
qw.eq("a.period", pagerQuery.getPeriod());
}
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("a.bankName", pagerQuery.getBankName());
}
if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
qw.like("a.bankContractNo", pagerQuery.getBankContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getCustomer())) {
qw.like("a.customer", pagerQuery.getCustomer());
}
if (StringUtils.isNotBlank(pagerQuery.getBorrowerName())) {
qw.like("a.borrowerName", pagerQuery.getBorrowerName());
}
if (StringUtils.isNotBlank(pagerQuery.getBillNo())) {
qw.like("a.skdBillNo", pagerQuery.getBillNo());
}
if (StringUtils.isNotBlank(pagerQuery.getUpdateState())) {
qw.eq("a.updateState", pagerQuery.getUpdateState());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (a.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dueEndDate), "date_format (a.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
);
String actualStartDate = pagerQuery.getActualStartDate();
String actualEndDate = pagerQuery.getActualEndDate();
qw.apply(StringUtils.isNotEmpty(actualStartDate), "date_format (a.actualDate,'%Y-%m-%d') >= date_format('" + actualStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(actualEndDate), "date_format (a.actualDate,'%Y-%m-%d') <= date_format('" + actualEndDate + "','%Y-%m-%d')"
);
String dataStartTime = pagerQuery.getDataStartTime();
String dataEndTime = pagerQuery.getDataEndTime();
qw.apply(StringUtils.isNotEmpty(dataStartTime), "date_format (a.dataTime,'%Y-%m-%d') >= date_format('" + dataStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dataEndTime), "date_format (a.dataTime,'%Y-%m-%d') <= date_format('" + dataEndTime + "','%Y-%m-%d')"
);
String closingStartDate = pagerQuery.getClosingStartDate();
String closingEndDate = pagerQuery.getClosingEndDate();
qw.apply(StringUtils.isNotEmpty(closingStartDate), "date_format (a.closingDate,'%Y-%m-%d') >= date_format('" + closingStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(closingEndDate), "date_format (a.closingDate,'%Y-%m-%d') <= date_format('" + closingEndDate + "','%Y-%m-%d')"
);
String updateStartTime = pagerQuery.getUpdateStartDate();
String updateEndTime = pagerQuery.getUpdateEndDate();
qw.apply(StringUtils.isNotEmpty(updateStartTime), "date_format (a.updateTime,'%Y-%m-%d') >= date_format('" + updateStartTime + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(updateEndTime), "date_format (a.updateTime,'%Y-%m-%d') <= date_format('" + updateEndTime + "','%Y-%m-%d')"
);
qw.eq("1", "1");
qw.orderBy(true, true, "a.useOrgName")
.orderBy(true, true, "a.vinNo")
.orderBy(true, true, "a.period")
.orderBy(true, true, "a.loanContractNo")
;
List<RepaymentDetailsExportVo> exportVos = baseMapper.exportDetailsExcel(qw);
return exportVos;
}
public List<PreTransferPaymentExportVo> preTransferPaymentExcel(TransferPaymentQuery pagerQuery) {
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("p.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("p.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("p.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("p.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.salesUserSid", pagerQuery.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
//=======================
if (StringUtils.isNotBlank(pagerQuery.getType())) {
String type = pagerQuery.getType();
if (type.equals("0")) {
// qw.eq("h.paymentStateKey", "001").or().eq("h.paymentStateKey", "002");
qw.apply("(h.paymentStateKey = '001' OR h.paymentStateKey = '002')");
} else if (type.equals("1")) {
qw.eq("h.paymentStateKey", "003");
}
}
qw.eq("h.returnWayKey", "02");
if (StringUtils.isNotBlank(pagerQuery.getOverdue())) {
if ("1".equals(pagerQuery.getOverdue())) {
// qw.apply("date_format (h.actualDate,'%Y-%m-%d') <= date_format(p.dueDate,'%Y-%m-%d')");
qw.apply("now() < p.dueDate");
} else if ("0".equals(pagerQuery.getOverdue())) {
qw.apply("now() >= p.dueDate");
// qw.apply("date_format (h.actualDate,'%Y-%m-%d') > date_format(p.dueDate,'%Y-%m-%d')");
}
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("p.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
qw.like("p.loanContractNo", pagerQuery.getLoanContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getPeriod())) {
qw.eq("p.period", pagerQuery.getPeriod());
}
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("p.bankName", pagerQuery.getBankName());
}
if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
qw.like("p.bankContractNo", pagerQuery.getBankContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getAccountTypeKey())) {
qw.like("r.accountTypeKey", pagerQuery.getAccountTypeKey());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (p.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dueEndDate), "date_format (p.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
);
String prepareStartDate = pagerQuery.getPrepareStartDate();
String prepareEndDate = pagerQuery.getPrepareEndDate();
qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (h.prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (h.prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')"
);
qw.apply("(b.reAdvances = '1' OR IFNULL(p.paymentMoney,0) <= 0)");
List<PreTransferPaymentExportVo> records = baseMapper.preTransferPaymentExcel(qw);
return records;
}
public List<TransferedPaymentExportVo> transferedPaymentExcel(TransferPaymentQuery pagerQuery) {
QueryWrapper<LoanRepaymentHistory> qw = new QueryWrapper<>();
//=======================
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
privilegeQuery.setUserSid(pagerQuery.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = pagerQuery.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("p.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("p.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("p.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("p.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("p.salesUserSid", pagerQuery.getUserSid());
} else {
return new ArrayList<>();
}
} else {
return new ArrayList<>();
}
//=======================
if (StringUtils.isNotBlank(pagerQuery.getType())) {
String type = pagerQuery.getType();
if (type.equals("0")) {
// qw.eq("h.paymentStateKey", "001").or().eq("h.paymentStateKey", "002");
qw.apply("(h.paymentStateKey = '001' OR h.paymentStateKey = '002')");
} else if (type.equals("1")) {
qw.eq("h.paymentStateKey", "003");
}
}
qw.eq("h.returnWayKey", "02");
if (StringUtils.isNotBlank(pagerQuery.getOverdue())) {
if ("1".equals(pagerQuery.getOverdue())) {
// qw.apply("date_format (h.actualDate,'%Y-%m-%d') <= date_format(p.dueDate,'%Y-%m-%d')");
qw.apply("now() < p.dueDate");
} else if ("0".equals(pagerQuery.getOverdue())) {
qw.apply("now() >= p.dueDate");
// qw.apply("date_format (h.actualDate,'%Y-%m-%d') > date_format(p.dueDate,'%Y-%m-%d')");
}
}
if (StringUtils.isNotBlank(pagerQuery.getVinNo())) {
qw.like("p.vinNo", pagerQuery.getVinNo());
}
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) {
qw.like("p.loanContractNo", pagerQuery.getLoanContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getPeriod())) {
qw.eq("p.period", pagerQuery.getPeriod());
}
if (StringUtils.isNotBlank(pagerQuery.getBankName())) {
qw.like("p.bankName", pagerQuery.getBankName());
}
if (StringUtils.isNotBlank(pagerQuery.getBankContractNo())) {
qw.like("p.bankContractNo", pagerQuery.getBankContractNo());
}
if (StringUtils.isNotBlank(pagerQuery.getAccountTypeKey())) {
qw.like("r.accountTypeKey", pagerQuery.getAccountTypeKey());
}
String dueStartDate = pagerQuery.getDueStartDate();
String dueEndDate = pagerQuery.getDueEndDate();
qw.apply(StringUtils.isNotEmpty(dueStartDate), "date_format (p.dueDate,'%Y-%m-%d') >= date_format('" + dueStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(dueEndDate), "date_format (p.dueDate,'%Y-%m-%d') <= date_format('" + dueEndDate + "','%Y-%m-%d')"
);
String prepareStartDate = pagerQuery.getPrepareStartDate();
String prepareEndDate = pagerQuery.getPrepareEndDate();
qw.apply(StringUtils.isNotEmpty(prepareStartDate), "date_format (h.prepareDate,'%Y-%m-%d') >= date_format('" + prepareStartDate + "','%Y-%m-%d')").
apply(StringUtils.isNotEmpty(prepareEndDate), "date_format (h.prepareDate,'%Y-%m-%d') <= date_format('" + prepareEndDate + "','%Y-%m-%d')"
);
qw.apply("(b.reAdvances = '1' OR IFNULL(p.paymentMoney,0) <= 0)");
List<TransferedPaymentExportVo> records = baseMapper.transferedPaymentExcel(qw);
if (pagerQuery.getType().equals("1")) {
if (!records.isEmpty()) {
for (TransferedPaymentExportVo record : records) {
TransferRecordVo transferRecordVo = baseMapper.selTransferRecord(record.getSid());
if (null != transferRecordVo) {
if (StringUtils.isNotBlank(transferRecordVo.getTransferPrincipal())) {
record.setTransferPrincipal(transferRecordVo.getTransferPrincipal());
}
if (StringUtils.isNotBlank(transferRecordVo.getAccount())) {
record.setAccount(transferRecordVo.getAccount());
}
if (StringUtils.isNotBlank(transferRecordVo.getAccountNumber())) {
record.setAccountNumber(transferRecordVo.getAccountNumber());
}
if (StringUtils.isNotBlank(transferRecordVo.getDefaultInterest())) {
record.setDefaultInterest(transferRecordVo.getDefaultInterest());
}
}
}
}
}
return records;
}
}

Loading…
Cancel
Save