Browse Source

垫款申请对接联调优化

master
God 1 year ago
parent
commit
a3f43bd254
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDetailsVo.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyDto.java
  3. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java
  4. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java
  5. 33
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereExportVo.java
  6. 9
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereFile.java
  7. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java
  8. 1
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanfile/LoanFileEnum.java
  9. 20
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java
  10. 54
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  11. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

2
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<String> fileUrlList = new ArrayList<>(); // 附件
@ApiModelProperty("垫款车辆列表")
private List<LoanBePadsincereVehDetailsVo> loanBePadsincereVehDetailsVoList = new ArrayList<>();
}

2
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<LoanBePadsincereFile> fileUrlList = new ArrayList<>(); // 附件
@ApiModelProperty("垫款车辆列表")
private List<LoanBePadsincereVehDto> loanBePadsincereVehDtoList = new ArrayList<>();
}

5
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<LoanBePadsincereApplyDetailsVo> init(@RequestParam("userSid") String userSid, @RequestParam("orgPath") String orgPath);
@PostMapping("/downloadModPriceExcel")
@ApiOperation(value = "下载模板")
@ResponseBody
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
@ResponseBody

5
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<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException, ParseException {
return null;

33
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;
}

9
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;
}

1
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<BePadsincereExcelInfo> infos = new ArrayList<>();
}

1
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", "逾期垫款附件"),
;

20
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<LoanBePadsincereExportVo> 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<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException {
return loanBePadsincereApplyService.getExcelInfo(file, request);

54
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<LoanBePadsi
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
@Autowired
private LoanFileService loanFileService;
@Autowired
private FlowableFeign flowableFeign;
@Autowired
private MessageFeign messageFeign;
@ -122,7 +128,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
@Autowired
private SysOrganizationFeign sysOrganizationFeign;
@Autowired
private SysStaffOrgFeign sysStaffOrgFeign;
private FileUploadComponent fileUploadComponent;
public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) {
LoanBePadsincereApplyQuery query = pq.getParams();
@ -189,12 +195,24 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
ResultBean rb = ResultBean.fireFail();
String dtoSid = dto.getSid();
List<LoanBePadsincereVehDto> loanBePadsincereVehDtoList = dto.getLoanBePadsincereVehDtoList();
List<LoanBePadsincereFile> 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<LoanBePadsi
}
}
}
if (StringUtils.isNotBlank(importReturn.getCheckInfo2())) {
return rb.success().setData(resultList2).setMsg(importReturn.getCheckInfo2());
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
return rb.success().setData(resultList2).setMsg("成功导入数据,请点击确定按钮");
}
@ -300,9 +318,7 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell) {
ReturnExcelInfo importReturn = new ReturnExcelInfo();
List<BePadsincereExcelInfo> importVoList = new ArrayList<>();
int[] resultIndex = new int[resultCell.length];
Set<String> checkWord = new HashSet<>();
Set<String> 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<LoanBePadsi
NullPointerException nullPointerException = new NullPointerException();
}
String temp = getCellVal(row.getCell(i)).toString().trim();
temp = temp.replace(".0", "");
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
@ -388,31 +405,38 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
}
importVoList.add(importVo);
}
StringBuffer sbBankCNo = new StringBuffer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!importVoList.isEmpty()) {
for (BePadsincereExcelInfo excelInfo : importVoList) {
if (StringUtils.isBlank(excelInfo.getBankContractNo())) {
checkWord.add("资方合同编号不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getPeriod())) {
checkWord.add("期数不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBePrincipal())) {
checkWord.add("逾期本金不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBeDefInter())) {
checkWord.add("逾期罚息不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBankCollectionAcc())) {
checkWord.add("资方收款账户不能为空");
break;
}
if (StringUtils.isBlank(excelInfo.getBankCollectionNum())) {
checkWord.add("资方收款账号不能为空");
break;
}
List<LoanRepaymentScheduleDetailsVo> 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<LoanBePadsi
return importReturn;
}
importReturn.setInfos(importVoList);
StringBuffer sbcheck2 = new StringBuffer();
if (!checkWord2.isEmpty()) {
for (String s : checkWord2) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck2.append(s).append(",");
}
}
if (sbcheck2.length() > 0) {
sbcheck2.delete(sbcheck2.length() - 1, sbcheck2.length());
importReturn.setCheckInfo2("已存在" + sbcheck2.toString() + "的记录,是否继续导入");
return importReturn;
}
return importReturn;
}

2
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)
</select>

Loading…
Cancel
Save