Browse Source

划扣申请模块

master
fanzongzhe 2 years ago
parent
commit
1a73bc4ccf
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApply.java
  2. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java
  3. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyFeign.java
  4. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyInit.java
  5. 18
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleFile.java
  6. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java
  7. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/app/AppRecordVo.java
  8. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java
  9. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryDto.java
  10. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeign.java
  11. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryFeignFallback.java
  12. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryUpdate.java
  13. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryVo.java
  14. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java
  15. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java
  16. 63
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbuckleapply/LoanBuckleApplyService.java
  17. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.java
  18. 39
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryMapper.xml
  19. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryRest.java
  20. 95
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymenthistory/LoanRepaymentHistoryService.java
  21. 1687
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  22. 9
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/BuckleFeign.java
  23. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/BuckleFeignFallback.java
  24. 2
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/RecordVo.java
  25. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/buckle/BuckleRest.java
  26. 24
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/buckle/BuckleService.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApply.java

@ -45,5 +45,7 @@ public class LoanBuckleApply extends BaseEntity {
private String taskId; // taskId
@ApiModelProperty("申请人组织路径")
private String orgSidPath; // 申请人组织路径
@ApiModelProperty("办结日期")
private Date closingDate;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyDto.java

@ -23,6 +23,6 @@ public class LoanBuckleApplyDto implements Dto {
private String applyDate;
private String remarks;
private String orgPath;
private List<String> files = new ArrayList<>();
private List<LoanBuckleFile> files = new ArrayList<>();
private List<LoanBuckleHistoryRecord> records = new ArrayList<>();
}

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

@ -36,7 +36,7 @@ public interface LoanBuckleApplyFeign {
public ResultBean<PagerVo<LoanBuckleApplyVo>> listPage(@RequestBody PagerQuery<LoanBuckleApplyQuery> pq);
@ApiOperation("新增初始化")
@GetMapping("/buckleInit")
@PostMapping("/buckleInit")
@ResponseBody
public ResultBean<LoanBuckleApplyInit> buckleInit(@RequestBody String[] sids);

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleApplyInit.java

@ -1,5 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanbuckleapply;
import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeFiles;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -27,7 +28,7 @@ public class LoanBuckleApplyInit implements Vo {
private String taskId;
@ApiModelProperty("实例id")
private String instanceId;
private List<String> files = new ArrayList<>();
private List<LoanBuckleFile> files = new ArrayList<>();
private List<LoanBuckleHistoryRecord> records = new ArrayList<>();
}

18
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleFile.java

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

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/LoanBuckleHistoryRecord.java

@ -29,14 +29,14 @@ public class LoanBuckleHistoryRecord {
private String returnWay;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("应还日期")
private String dueDate;
@ApiModelProperty("应还金额")
private String dueMoney;
// @ApiModelProperty("应还日期")
// private String dueDate;
// @ApiModelProperty("应还金额")
// private String dueMoney;
@ApiModelProperty("实还金额")
private String actualMoney;
@ApiModelProperty("本期未还金额")
private String outstandingMoney;
// @ApiModelProperty("本期未还金额")
// private String outstandingMoney;
@ApiModelProperty("实还日期")
private String actualDate;

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbuckleapply/app/AppRecordVo.java

@ -17,7 +17,7 @@ public class AppRecordVo {
private String zfNo;
private String cusName;
private String loanName;
private String repaymentDate;
// private String repaymentDate;
private String info1;
private String info2;
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistory.java

@ -28,8 +28,8 @@ public class LoanRepaymentHistory extends BaseEntity {
private Date dataTime;
@ApiModelProperty("实还金额")
private BigDecimal actualMoney;
@ApiModelProperty("本期未还金额")
private BigDecimal outstandingMoney;
// @ApiModelProperty("本期未还金额")
// private BigDecimal outstandingMoney;
@ApiModelProperty("划扣状态key")
private String buckleKey;
@ApiModelProperty("划扣状态")
@ -38,4 +38,6 @@ public class LoanRepaymentHistory extends BaseEntity {
private String returnWay;
@ApiModelProperty("还款方式key")
private String returnWayKey;
@ApiModelProperty("办结日期")
private Date closingDate;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryDto.java

@ -25,8 +25,8 @@ public class LoanRepaymentHistoryDto implements Dto {
private String dataTime;
@ApiModelProperty("实还金额")
private String actualMoney;
@ApiModelProperty("本期未还金额")
private String outstandingMoney;
// @ApiModelProperty("本期未还金额")
// private String outstandingMoney;
@ApiModelProperty("划扣状态key")
private String buckleKey;
@ApiModelProperty("划扣状态")

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

@ -68,6 +68,11 @@ public interface LoanRepaymentHistoryFeign {
@ResponseBody
public ResultBean<String> saveRecords(@RequestBody List<RepaymentExcelInfo> dto);
@ApiOperation("批量删除")
@DeleteMapping("/deleteBySids")
@ResponseBody
public ResultBean deleteBySids(@RequestBody String[] sids);
@ApiOperation(value = "下载模板")
@PostMapping("/downloadExcel")

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

@ -60,6 +60,11 @@ public class LoanRepaymentHistoryFeignFallback implements LoanRepaymentHistoryFe
return null;
}
@Override
public ResultBean deleteBySids(String[] sids) {
return null;
}
@Override
public void downloadExcel() {

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryUpdate.java

@ -32,5 +32,5 @@ public class LoanRepaymentHistoryUpdate {
private String actualMoney;
@ApiModelProperty("还款方式key")
private String returnWayKey;
private String planDetailSid;
}

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymenthistory/LoanRepaymentHistoryVo.java

@ -46,6 +46,6 @@ public class LoanRepaymentHistoryVo implements Vo {
private String buckle;
@ApiModelProperty("还款方式")
private String returnWay;
private String planDetailSid;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanCreateSchedulePdfVo.java

@ -57,7 +57,8 @@ public class LoanCreateSchedulePdfVo implements Vo {
private String otherLastRepay;
@ApiModelProperty("是否有其他融 0没有1有")
private String isOtherPolicy;
@ApiModelProperty("资方是否相同 0否1是")
private String sameBank;
private LoanSolutionsDetailsssVo solutionsDetailsssVo;
private String otherBankNo;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentSchedule.java

@ -66,5 +66,12 @@ public class LoanRepaymentSchedule extends BaseEntity {
private String isOtherPolicy;
@ApiModelProperty("还款计划单下载地址")
private String schedulePath;
@ApiModelProperty("资方是否相同 0否1是")
private String sameBank;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("其他融资方合同号")
private String otherBankNo;
}

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

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.biz.loanbuckleapply;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
@ -8,6 +9,9 @@ import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.common.enums.BillTypeEnum;
import com.yxt.anrui.base.common.utils.Rule;
import com.yxt.anrui.base.common.utils.domain.BillNo;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFile;
import com.yxt.anrui.buscenter.api.buscenterfile.BuscenterFileEnum;
import com.yxt.anrui.buscenter.api.bussolutionschange.BusSolutionsChangeFiles;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
@ -30,15 +34,11 @@ import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loanbuckleapplyrecord.LoanBuckleApplyRecord;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFile;
import com.yxt.anrui.riskcenter.api.loanfile.LoanFileEnum;
import com.yxt.anrui.riskcenter.api.loanfinotherPolicy.LoanFinOtherPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicy.LoanFinPolicy;
import com.yxt.anrui.riskcenter.api.loanfinpolicyrecordapply.LoanFinPolicyRecordApply;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryRecordVo;
import com.yxt.anrui.riskcenter.biz.loanbuckleapplyrecord.LoanBuckleApplyRecordService;
import com.yxt.anrui.riskcenter.biz.loanfile.LoanFileService;
import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService;
import com.yxt.common.base.config.component.DocPdfComponent;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
@ -159,6 +159,8 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
public ResultBean<LoanBuckleApplyInit> buckleInit(String[] sids) {
ResultBean<LoanBuckleApplyInit> rb = ResultBean.fireFail();
LoanBuckleApplyInit vo = new LoanBuckleApplyInit();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
vo.setApplyDate(sdf.format(new Date()));
List<LoanBuckleHistoryRecord> historyRecords = new ArrayList<>();
for (String sid : sids) {
LoanBuckleHistoryRecord record = new LoanBuckleHistoryRecord();
@ -173,7 +175,7 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
/**
* 生成交车资料确认单单据编号
* 生成申请单单据编号
*
* @param orgSid
* @return
@ -204,8 +206,12 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
loanBuckleApplyRecordService.deleteByMainSid(sid);
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<String> files = dto.getFiles();
if (!files.isEmpty()) {
List<LoanBuckleFile> filess = dto.getFiles();
if (!filess.isEmpty()) {
List<String> files = new ArrayList<>();
for (LoanBuckleFile file : filess) {
files.add(file.getUrl());
}
loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType());
}
List<LoanBuckleHistoryRecord> records = dto.getRecords();
@ -255,8 +261,14 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
}
}
List<String> files = dto.getFiles();
if (!files.isEmpty()) {
//删除附件表中关于该linkSid的文件
loanFileService.deleteByLinkSid(sid);
List<LoanBuckleFile> filess = dto.getFiles();
if (!filess.isEmpty()) {
List<String> files = new ArrayList<>();
for (LoanBuckleFile file : filess) {
files.add(file.getUrl());
}
loanFileService.saveAll(sid, files, LoanFileEnum.BUCKLE_APPLY.getAttachType());
}
}
@ -283,7 +295,13 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (!fileList.isEmpty()) {
List<String> files = fileList.stream().map(c -> fileUploadComponent.getUrlPrefix() + c.getFilePath()).
collect(Collectors.toList());
initVo.setFiles(files);
List<LoanBuckleFile> loanBuckleFiles = new ArrayList<>();
for (String file : files) {
LoanBuckleFile loanBuckleFile = new LoanBuckleFile();
loanBuckleFile.setUrl(file);
loanBuckleFiles.add(loanBuckleFile);
}
initVo.setFiles(loanBuckleFiles);
}
List<LoanBuckleApplyRecord> records = loanBuckleApplyRecordService.selByMainSid(sid);
List<LoanBuckleHistoryRecord> recordList = new ArrayList<>();
@ -509,6 +527,9 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
}
int i = updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
LoanBuckleApply buckleApply = fetchBySid(businessSid);
buckleApply.setClosingDate(new DateTime());
baseMapper.updateById(buckleApply);
List<LoanBuckleApplyRecord> applyRecords = loanBuckleApplyRecordService.selByMainSid(businessSid);
if (!applyRecords.isEmpty()) {
for (LoanBuckleApplyRecord applyRecord : applyRecords) {
@ -516,11 +537,11 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (null != repaymentHistory) {
repaymentHistory.setBuckle("审核通过");
repaymentHistory.setBuckleKey("003");
repaymentHistory.setClosingDate(new DateTime());
loanRepaymentHistoryService.updateById(repaymentHistory);
}
}
}
}
return rb.success().setData(resultBean.getData());
} else {
@ -830,26 +851,26 @@ public class LoanBuckleApplyService extends MybatisBaseService<LoanBuckleApplyMa
if (StringUtils.isNotBlank(data.getBorrowerName())) {
appRecordVo.setLoanName(data.getBorrowerName());
}
if (StringUtils.isNotBlank(data.getDueDate())) {
appRecordVo.setRepaymentDate(data.getDueDate());
}
// if (StringUtils.isNotBlank(data.getDueDate())) {
// appRecordVo.setRepaymentDate(data.getDueDate());
// }
String yinghuan = "";
String weihuan = "";
String shihuan = "";
String shihuandate = "";
if (StringUtils.isNotBlank(data.getDueMoney())) {
yinghuan = data.getDueMoney();
}
if (StringUtils.isNotBlank(data.getOutstandingMoney())) {
weihuan = data.getOutstandingMoney();
}
// if (StringUtils.isNotBlank(data.getDueMoney())) {
// yinghuan = data.getDueMoney();
// }
// if (StringUtils.isNotBlank(data.getOutstandingMoney())) {
// weihuan = data.getOutstandingMoney();
// }
if (StringUtils.isNotBlank(data.getActualDate())) {
shihuandate = data.getActualDate();
}
if (StringUtils.isNotBlank(data.getActualMoney())) {
shihuan = data.getActualMoney();
}
appRecordVo.setInfo1("本期应还:" + yinghuan + ",本期未还:" + weihuan);
appRecordVo.setInfo1("");
appRecordVo.setInfo2("实还日期:" + shihuandate + ",实还金额:" + shihuan);
records.add(appRecordVo);
}

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

@ -35,4 +35,6 @@ public interface LoanRepaymentHistoryMapper extends BaseMapper<LoanRepaymentHist
List<LoanRepaymentHistory> selByBankNoAndActDate(@Param("bankContractNo") String bankContractNo, @Param("realReturnTime") String realReturnTime);
LoanRepaymentHistoryRecordVo buckleInfo(String sid);
List<LoanRepaymentHistory> selByPlanSid(@Param("planSid") String planDetailSid);
}

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

@ -5,19 +5,19 @@
<select id="updateRecordInfo"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistoryUpdate">
SELECT p.loanContractNo as loanContractNo,
p.bankName as bankName,
p.bankContractNo as bankContractNo,
p.borrowerName as borrowerName,
p.period as period,
p.dueDate as dueDate,
p.vinNo as vinNo,
p.dueMoney as dueMoney,
h.outstandingMoney as outstandingMoney,
h.returnWay as returnWay,
h.returnWayKey as returnWayKey,
h.actualMoney as actualMoney,
h.sid as sid
SELECT p.loanContractNo as loanContractNo,
p.bankName as bankName,
p.bankContractNo as bankContractNo,
p.borrowerName as borrowerName,
p.period as period,
p.dueDate as dueDate,
p.vinNo as vinNo,
p.dueMoney as dueMoney,
h.returnWay as returnWay,
h.returnWayKey as returnWayKey,
h.actualMoney as actualMoney,
h.sid as sid,
h.planDetailSid as planDetailSid
FROM loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
WHERE h.sid = #{sid}
@ -50,11 +50,11 @@
p.dueDate,
p.dueMoney,
h.actualDate,
h.dataTime,
date_format(h.dataTime, '%Y-%m-%d') as dataTime,
h.actualMoney,
h.outstandingMoney,
h.buckle,
h.returnWay
h.returnWay,
h.planDetailSid
FROM
loan_repayment_history AS h
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
@ -81,7 +81,6 @@
p.dueDate as dueDate,
p.vinNo as vinNo,
p.dueMoney as dueMoney,
h.outstandingMoney as outstandingMoney,
h.returnWay as returnWay,
h.returnWayKey as returnWayKey,
h.actualMoney as actualMoney,
@ -91,4 +90,10 @@
LEFT JOIN loan_repayment_plan_details AS p ON h.planDetailSid = p.sid
WHERE h.sid = #{sid}
</select>
<select id="selByPlanSid"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory">
select *
from loan_repayment_history
where planDetailSid = #{planSid}
</select>
</mapper>

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

@ -81,6 +81,11 @@ public class LoanRepaymentHistoryRest implements LoanRepaymentHistoryFeign {
return loanRepaymentHistoryService.saveRecords(dto);
}
@Override
public ResultBean deleteBySids(String[] sids) {
return loanRepaymentHistoryService.deleteBySids(sids);
}
@Override
public void downloadExcel() {
try {

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

@ -350,28 +350,44 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
if (StringUtils.isNotBlank(dto.getActualMoney())) {
BigDecimal realMoney = new BigDecimal(dto.getActualMoney());
repaymentHistory.setActualMoney(realMoney);
List<LoanRepaymentHistory> histories = baseMapper.selHistoryByPlanSid(repaymentHistory.getPlanDetailSid());
// List<LoanRepaymentHistory> histories = baseMapper.selHistoryByPlanSid(repaymentHistory.getPlanDetailSid());
// BigDecimal returned = new BigDecimal(0);
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistory history : histories) {
// returned = history.getActualMoney().add(returned);
// }
// }
// LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.fetchBySid(repaymentHistory.getPlanDetailSid());
// if (null != loanRepaymentPlanDetails) {
// BigDecimal decimal = returned.add(realMoney);
// BigDecimal dueMoney = loanRepaymentPlanDetails.getDueMoney();
// BigDecimal subtract = dueMoney.subtract(decimal);
// // repaymentHistory.setOutstandingMoney(subtract);
// }
}
baseMapper.updateById(repaymentHistory);
return rb.success();
}
public ResultBean<LoanRepaymentHistoryUpdate> updateRecordInfo(String sid) {
ResultBean<LoanRepaymentHistoryUpdate> rb = ResultBean.fireFail();
LoanRepaymentHistoryUpdate vo = baseMapper.updateRecordInfo(sid);
if (null != vo) {
String planDetailSid = vo.getPlanDetailSid();
List<LoanRepaymentHistory> histories = baseMapper.selByPlanSid(planDetailSid);
BigDecimal returned = new BigDecimal(0);
if (!histories.isEmpty()) {
for (LoanRepaymentHistory history : histories) {
returned = history.getActualMoney().add(returned);
}
}
LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.fetchBySid(repaymentHistory.getPlanDetailSid());
LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.fetchBySid(planDetailSid);
if (null != loanRepaymentPlanDetails) {
BigDecimal decimal = returned.add(realMoney);
BigDecimal dueMoney = loanRepaymentPlanDetails.getDueMoney();
BigDecimal subtract = dueMoney.subtract(decimal);
repaymentHistory.setOutstandingMoney(subtract);
BigDecimal subtract = dueMoney.subtract(returned);
vo.setOutstandingMoney(String.valueOf(subtract));
}
}
baseMapper.updateById(repaymentHistory);
return rb.success();
}
public ResultBean<LoanRepaymentHistoryUpdate> updateRecordInfo(String sid) {
ResultBean<LoanRepaymentHistoryUpdate> rb = ResultBean.fireFail();
LoanRepaymentHistoryUpdate vo = baseMapper.updateRecordInfo(sid);
return rb.success().setData(vo);
}
@ -468,7 +484,7 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
ast = sdf.parse(actualStartDate);
}
if (StringUtils.isNotBlank(actualEndDate)) {
aed = sdf.parse(actualEndDate);
aed = sdf.parse(actualEndDate);
}
if (StringUtils.isBlank(actualStartDate) && StringUtils.isNotBlank(actualEndDate)) {
@ -526,6 +542,26 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
);
}
IPage<LoanRepaymentHistoryVo> pagging = baseMapper.monthListPage(page, qw);
List<LoanRepaymentHistoryVo> records = pagging.getRecords();
records.removeAll(Collections.singleton(null));
if (!records.isEmpty()) {
for (LoanRepaymentHistoryVo record : records) {
String planDetailSid = record.getPlanDetailSid();
List<LoanRepaymentHistory> histories = baseMapper.selByPlanSid(planDetailSid);
BigDecimal returned = new BigDecimal(0);
if (!histories.isEmpty()) {
for (LoanRepaymentHistory history : histories) {
returned = history.getActualMoney().add(returned);
}
}
LoanRepaymentPlanDetails loanRepaymentPlanDetails = loanRepaymentPlanDetailsService.fetchBySid(record.getPlanDetailSid());
if (null != loanRepaymentPlanDetails) {
BigDecimal dueMoney = loanRepaymentPlanDetails.getDueMoney();
BigDecimal subtract = dueMoney.subtract(returned);
record.setOutstandingMoney(String.valueOf(subtract));
}
}
}
PagerVo<LoanRepaymentHistoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
@ -584,6 +620,8 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
repaymentHistory.setBuckleKey("001");
repaymentHistory.setScheduleSid(planDetail.getScheduleSid());
repaymentHistory.setPlanDetailSid(planDetail.getSid());
repaymentHistory.setReturnWay("直还");
repaymentHistory.setReturnWayKey("001");
try {
repaymentHistory.setActualDate(sdf.parse(repaymentExcelInfo.getRealReturnTime()));
} catch (ParseException e) {
@ -593,17 +631,17 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
BigDecimal divide = realMoney.divide(new BigDecimal(planDetails.size()), 2, BigDecimal.ROUND_HALF_UP);
repaymentHistory.setActualMoney(divide);
repaymentHistory.setDataTime(new DateTime());
List<LoanRepaymentHistory> histories = baseMapper.selHistoryByPlanSid(planDetail.getSid());
BigDecimal returned = new BigDecimal(0);
if (!histories.isEmpty()) {
for (LoanRepaymentHistory history : histories) {
returned = history.getActualMoney().add(returned);
}
}
BigDecimal decimal = returned.add(divide);
BigDecimal dueMoney = planDetail.getDueMoney();
BigDecimal subtract = dueMoney.subtract(decimal);
repaymentHistory.setOutstandingMoney(subtract);
// List<LoanRepaymentHistory> histories = baseMapper.selHistoryByPlanSid(planDetail.getSid());
// BigDecimal returned = new BigDecimal(0);
// if (!histories.isEmpty()) {
// for (LoanRepaymentHistory history : histories) {
// returned = history.getActualMoney().add(returned);
// }
// }
// BigDecimal decimal = returned.add(divide);
// BigDecimal dueMoney = planDetail.getDueMoney();
// BigDecimal subtract = dueMoney.subtract(decimal);
// repaymentHistory.setOutstandingMoney(subtract);
baseMapper.insert(repaymentHistory);
}
}
@ -617,4 +655,13 @@ public class LoanRepaymentHistoryService extends MybatisBaseService<LoanRepaymen
LoanRepaymentHistoryRecordVo vo = baseMapper.buckleInfo(sid);
return rb.success().setData(vo);
}
public ResultBean deleteBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
for (String sid : sids) {
LoanRepaymentHistory repaymentHistory = fetchBySid(sid);
baseMapper.deleteById(repaymentHistory);
}
return rb.success().setMsg("删除成功");
}
}

1687
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java

File diff suppressed because it is too large

9
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/BuckleFeign.java

@ -1,6 +1,7 @@
package com.yxt.anrui.terminal.api.risk.buckle;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
@ -64,8 +65,8 @@ public interface BuckleFeign {
@ResponseBody
ResultBean<String> getFlowOperateTitle(@Valid @SpringQueryMap BuckleFlowableQuery query);
// @ApiOperation(value = "加签")
// @PutMapping(value = "/delegate")
// @ResponseBody
// public ResultBean delegate(@RequestBody AppCustomerRecordDelegateQuery delegateQuery);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody AppBuckleDelegateQuery delegateQuery);
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/BuckleFeignFallback.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.risk.buckle;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
@ -49,4 +50,9 @@ public class BuckleFeignFallback implements BuckleFeign {
public ResultBean<String> getFlowOperateTitle(BuckleFlowableQuery query) {
return null;
}
@Override
public ResultBean delegate(AppBuckleDelegateQuery delegateQuery) {
return null;
}
}

2
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/buckle/RecordVo.java

@ -17,7 +17,7 @@ public class RecordVo {
private String zfNo;
private String cusName;
private String loanName;
private String repaymentDate;
// private String repaymentDate;
private String info1;
private String info2;
}

6
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/buckle/BuckleRest.java

@ -3,6 +3,7 @@ package com.yxt.anrui.terminal.biz.risk.buckle;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleFeign;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
@ -59,4 +60,9 @@ public class BuckleRest implements BuckleFeign {
public ResultBean<String> getFlowOperateTitle(BuckleFlowableQuery query) {
return buckleService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(AppBuckleDelegateQuery delegateQuery) {
return buckleService.delegate(delegateQuery);
}
}

24
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/buckle/BuckleService.java

@ -8,16 +8,14 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.LoanBuckleApplyFeign;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.app.AppBuckleDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.BuckleCompleteDto;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.BuckleGetNodeQuery;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.BuckleGetNodeVo;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.BuckleTaskQuery;
import com.yxt.anrui.riskcenter.api.loanbuckleapply.flow.*;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.LoanCustomerRecordFeign;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.app.*;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.CustomerRecordCompleteDto;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.CustomerRecordDelegateQuery;
import com.yxt.anrui.riskcenter.api.loancustomerrecord.flow.CustomerRecordTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.BuckleDetailsVo;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleDelegateQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.AppBuckleTaskQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.BuckleFlowableQuery;
import com.yxt.anrui.terminal.api.risk.buckle.flow.CompleteBuckleDto;
@ -149,15 +147,13 @@ public class BuckleService {
}
return rb.success().setData(data);
}
//
// public ResultBean delegate(AppCustomerRecordDelegateQuery delegateQuery) {
// ResultBean rb = ResultBean.fireFail();
// CustomerRecordDelegateQuery delegateQuery1 = new
// CustomerRecordDelegateQuery();
// BeanUtil.copyProperties(delegateQuery, delegateQuery1);
// ResultBean delegate = loanCustomerRecordFeign.delegate(delegateQuery1);
// return rb.success();
// }
public ResultBean delegate(AppBuckleDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
BuckleDelegateQuery delegateQuery1 = new
BuckleDelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanBuckleApplyFeign.delegate(delegateQuery1);
return rb.success();
}
}

Loading…
Cancel
Save