diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java index 7b1b97e9c1..c8ac577606 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java @@ -83,6 +83,8 @@ public class LoanBePadsincereApplyDetailsVo implements Vo { private String nodeState; // 流程状态 @ApiModelProperty("任务id") private String taskId; // 任务id + @ApiModelProperty("附件") + private List fileUrlList = new ArrayList<>(); // 附件 @ApiModelProperty("垫款车辆列表") private List loanBePadsincereVehDetailsVoList = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java index 91c13b22ce..784adbf2d7 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java @@ -80,6 +80,8 @@ public class LoanBePadsincereApplyDto implements Dto { private String nodeState; // 流程状态 @ApiModelProperty("任务id") private String taskId; // 任务id + @ApiModelProperty("附件") + private List fileUrlList = new ArrayList<>(); // 附件 @ApiModelProperty("垫款车辆列表") private List loanBePadsincereVehDtoList = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java index 7587189c45..f1fecd5263 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java @@ -91,6 +91,11 @@ public interface LoanBePadsincereApplyFeign { @ResponseBody public ResultBean init(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath); + @PostMapping("/downloadModPriceExcel") + @ApiOperation(value = "下载模板") + @ResponseBody + public void downloadExcel(); + @ApiOperation(value = "导入") @PostMapping("/getExcelInfo") @ResponseBody diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java index 2da95e258e..902de67917 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java @@ -81,6 +81,11 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply return null; } + @Override + public void downloadExcel() { + + } + @Override public ResultBean> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException, ParseException { return null; diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereExportVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereExportVo.java new file mode 100644 index 0000000000..6195dc2b08 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereExportVo.java @@ -0,0 +1,33 @@ +package com.yxt.anrui.riskcenter.api.loanbepadsincereapply; + +import com.yxt.common.core.utils.ExportEntityMap; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + + +/** + * @author dimengzhe + * @date 2021/9/30 16:25 + * @description + */ +@Data +public class LoanBePadsincereExportVo implements Vo { + + @ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo") + private String bankContractNo; + @ExportEntityMap(CnName = "期数", EnName = "period") + private String period; + @ExportEntityMap(CnName = "逾期本金", EnName = "bePrincipal") + private String bePrincipal; + @ExportEntityMap(CnName = "逾期罚息", EnName = "beDefInter") + private String beDefInter; + @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; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereFile.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereFile.java new file mode 100644 index 0000000000..cedcba9b73 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereFile.java @@ -0,0 +1,9 @@ +package com.yxt.anrui.riskcenter.api.loanbepadsincereapply; + +import lombok.Data; + +@Data +public class LoanBePadsincereFile { + + private String url; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java index 3a9c57efef..a3919a937a 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java @@ -8,6 +8,5 @@ import java.util.List; @Data public class ReturnExcelInfo { private String checkInfo; - private String checkInfo2; private List infos = new ArrayList<>(); } \ No newline at end of file diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java index b34bd14208..988ee93940 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java @@ -21,6 +21,7 @@ public enum LoanFileEnum { AGREEMENT("012", "车队挂靠协议"), OTHER_INFO("013", "欠款客户备案其他资料"), BUCKLE_APPLY("014", "划扣申请附件"), + BEPADSINCERE("015", "逾期垫款附件"), ; diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java index c7624b34c8..f840235a77 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java @@ -26,6 +26,7 @@ package com.yxt.anrui.riskcenter.biz.loanbepadsincereapply; import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.base.api.basemodelmodprice.BaseModelModpriceExportVo; import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; import com.yxt.anrui.flowable.api.utils.ProcDefEnum; @@ -35,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.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; @@ -51,6 +53,8 @@ import org.springframework.web.bind.annotation.*; import java.io.IOException; import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; @@ -82,6 +86,8 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign { @Autowired private LoanBePadsincereApplyService loanBePadsincereApplyService; + @Autowired + private HttpServletResponse response; @Override @ApiOperation("根据条件分页查询数据的列表") @@ -126,6 +132,20 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign { return rb.success().setData(vo); } + @Override + public void downloadExcel() { + List list = new ArrayList<>(); + //定义导出的excel名字 + String excelName = "逾期垫款导入模板"; + String fileNameURL = ""; + try { + fileNameURL = URLEncoder.encode(excelName, "UTF-8"); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } + ExportExcelUtils.export(fileNameURL, list, LoanBePadsincereExportVo.class, response); + } + @Override public ResultBean> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException { return loanBePadsincereApplyService.getExcelInfo(file, request); diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java index b7ebbe0420..bd099aa4ca 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java @@ -53,10 +53,14 @@ import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.LoanBePadsinc import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.flowable.SubmitLoanBePadsincereDto; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDto; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFile; +import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo; import com.yxt.anrui.riskcenter.biz.loanbepadsincereveh.LoanBePadsincereVehService; +import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService; import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService; +import com.yxt.common.base.config.component.FileUploadComponent; import com.yxt.common.base.utils.DateUtils; import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; @@ -114,6 +118,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanBePadsincereApplyQuery query = pq.getParams(); @@ -189,12 +195,24 @@ public class LoanBePadsincereApplyService extends MybatisBaseService loanBePadsincereVehDtoList = dto.getLoanBePadsincereVehDtoList(); + List fileUrlList = dto.getFileUrlList(); if (StringUtils.isBlank(dtoSid)) { String sid = this.insertByDto(dto); for (LoanBePadsincereVehDto loanBePadsincereVehDto : loanBePadsincereVehDtoList) { loanBePadsincereVehDto.setMainSid(sid); loanBePadsincereVehService.saveOrUpdateDto(loanBePadsincereVehDto); } + for (LoanBePadsincereFile loanBePadsincereFile : fileUrlList) { + LoanFile loanFile = new LoanFile(); + loanFile.setLinkSid(sid); + loanFile.setAttachType(LoanFileEnum.BEPADSINCERE.getAttachType()); + String filePath = loanBePadsincereFile.getUrl(); + if (filePath.indexOf(fileUploadComponent.getUrlPrefix()) > -1) { + filePath = filePath.replace(fileUploadComponent.getUrlPrefix(), ""); + } + loanFile.setFilePath(filePath); + loanFileService.save(loanFile); + } return rb.success().setData(sid); } this.updateByDto(dto); @@ -290,8 +308,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService importVoList = new ArrayList<>(); - int[] resultIndex = new int[resultCell.length]; Set checkWord = new HashSet<>(); - Set checkWord2 = new HashSet<>(); for (int r = 1; r <= sheet.getLastRowNum(); r++) { Row row = sheet.getRow(r); if (row == null) { @@ -317,6 +333,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService loanRepaymentScheduleDetailsVos = loanRepaymentScheduleService.selectByBankContractNo(excelInfo.getBankContractNo()); if (loanRepaymentScheduleDetailsVos == null || loanRepaymentScheduleDetailsVos.size() == 0) { - checkWord.add("资方合同号" + excelInfo.getBankContractNo() + "在还款计划表中不存在"); + if (StringUtils.isNotBlank(excelInfo.getBankContractNo())) { + checkWord.add("资方合同号" + excelInfo.getBankContractNo() + "在还款计划表中不存在"); + break; + } } } } @@ -432,20 +456,6 @@ public class LoanBePadsincereApplyService extends MybatisBaseService 0) { - sbcheck2.delete(sbcheck2.length() - 1, sbcheck2.length()); - importReturn.setCheckInfo2("已存在" + sbcheck2.toString() + "的记录,是否继续导入"); - return importReturn; - } return importReturn; } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml index f4adc1b269..9028d960a2 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml @@ -24,7 +24,7 @@ ON lrh.planDetailSid = lrpd.`sid` WHERE lrpd.vinNo = #{no} AND lrpd.period = #{period} - AND lrpd.loanContractNo = #{loanContractNo} + AND lrpd.bankContractNo = #{bankContractNo} GROUP BY lrpd.`sid` HAVING (yq_total > 0)