Browse Source

放款差额确认

master
dimengzhe 2 years ago
parent
commit
17d93efabe
  1. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/DiffFile.java
  2. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffDto.java
  3. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffFeign.java
  4. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffInitDetails.java
  5. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffQuery.java
  6. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffVo.java
  7. 24
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/flowable/DelegateQuery.java
  8. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiffdetails/LoanDiffDetailssVo.java
  9. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffRest.java
  10. 86
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java
  11. 6
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loandiff/LoanDiffsFeign.java
  12. 26
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loandiff/flowable/DiffDelegateQuery.java
  13. 6
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loandiff/LoanDiffsRest.java
  14. 16
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loandiff/LoanDiffsService.java

14
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/DiffFile.java

@ -0,0 +1,14 @@
package com.yxt.anrui.riskcenter.api.loandiff;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/11/15
**/
@Data
public class DiffFile {
private String url;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffDto.java

@ -4,6 +4,7 @@ import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailsDto;
import com.yxt.common.core.dto.Dto;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
@ -17,5 +18,9 @@ public class LoanDiffDto implements Dto {
private String sid;
private List<LoanDiffDetailsDto> loanDiffDetails;
private List<String> filesList;
// private List<String> filesList;
private List<DiffFile> filesList = new ArrayList<>();
private String remarks;
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffFeign.java

@ -73,4 +73,9 @@ public interface LoanDiffFeign {
@PostMapping(value = "/appDetails/{sid}")
ResultBean<LoanDiffDetailsssApp> appDetails(@PathVariable("sid")String sid);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody DelegateQuery query);
}

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffInitDetails.java

@ -1,6 +1,7 @@
package com.yxt.anrui.riskcenter.api.loandiff;
import com.yxt.anrui.riskcenter.api.loandiffdetails.LoanDiffDetailssVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
@ -15,14 +16,17 @@ import java.util.List;
public class LoanDiffInitDetails {
private String sid;
@ApiModelProperty("申请部门")
private String createDept;
@ApiModelProperty("申请人")
private String createByName;
@ApiModelProperty("申请日期")
private String createDate;
@ApiModelProperty("备注")
private String remarks;
private List<String> files = new ArrayList<>();
@ApiModelProperty("附件")
// private List<String> files = new ArrayList<>();
private List<DiffFile> filesList = new ArrayList<>();
private List<LoanDiffDetailssVo> loanDiffDetails = new ArrayList<>();
}

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffQuery.java

@ -22,9 +22,12 @@ public class LoanDiffQuery implements Query {
private String createTimeStart;
@ApiModelProperty("申请日期结束时间")
private String createTimeEnd;
@ApiModelProperty("机构全路径sid")
private String orgPath;
@ApiModelProperty("菜单url")
private String menuUrl;
@ApiModelProperty("用户sid")
private String userSid;
}

3
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/LoanDiffVo.java

@ -28,7 +28,8 @@ public class LoanDiffVo implements Vo {
private String billNo;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("流程定义id")
private String procDefId;
@ApiModelProperty("流程实例id")
private String procInstId;
}

24
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiff/flowable/DelegateQuery.java

@ -0,0 +1,24 @@
package com.yxt.anrui.riskcenter.api.loandiff.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/11/15
**/
@Data
public class DelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loandiffdetails/LoanDiffDetailssVo.java

@ -15,7 +15,7 @@ import java.math.BigDecimal;
public class LoanDiffDetailssVo implements Vo {
private static final long serialVersionUID = 8471596886220398279L;
private String sid;
@ApiModelProperty("资方")
private String bankName;
@ -29,12 +29,14 @@ public class LoanDiffDetailssVo implements Vo {
private BigDecimal makeLoan;
@ApiModelProperty("放款金额:实放")
private BigDecimal realityLoan;
@ApiModelProperty("放款金额:差额")
private BigDecimal diffLoan;
@ApiModelProperty("主产品厂家贴息:预计")
private BigDecimal makeDiscount;
@ApiModelProperty("主产品厂家贴息:实际")
private BigDecimal realityDiscount;
@ApiModelProperty("主产品厂家贴息:差额")
private BigDecimal diffDiscount;
@ApiModelProperty("其他融厂家贴息:预计")
@ -42,6 +44,7 @@ public class LoanDiffDetailssVo implements Vo {
@ApiModelProperty("其他融厂家贴息:实际")
private BigDecimal realityOtherDiscount;
@ApiModelProperty("其他融厂家贴息:差额")
private BigDecimal diffOtherDiscount;
@ApiModelProperty("固定贷款保证金:预计")
@ -49,6 +52,7 @@ public class LoanDiffDetailssVo implements Vo {
@ApiModelProperty("固定贷款保证金:实际")
private BigDecimal realityLoanMargin;
@ApiModelProperty("固定贷款保证金:差额")
private BigDecimal diffLoanMargin;
@ApiModelProperty("意外险:已收")
@ -56,5 +60,6 @@ public class LoanDiffDetailssVo implements Vo {
@ApiModelProperty("意外险:实扣")
private BigDecimal realityPremium;
@ApiModelProperty("意外险:差额")
private BigDecimal diffPremium;
}

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffRest.java

@ -90,4 +90,9 @@ public class LoanDiffRest implements LoanDiffFeign {
public ResultBean<LoanDiffDetailsssApp> appDetails(String sid) {
return loanDiffService.appDetails(sid);
}
@Override
public ResultBean delegate(DelegateQuery query) {
return loanDiffService.delegate(query);
}
}

86
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loandiff/LoanDiffService.java

@ -6,14 +6,18 @@ import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.anrui.base.api.busvehicleapply.BusVehicleApplyVo;
import com.yxt.anrui.flowable.api.flow.FlowableFeign;
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo;
import com.yxt.anrui.flowable.api.flow2.FlowDelegateQuery;
import com.yxt.anrui.flowable.api.flow2.FlowFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskFeign;
import com.yxt.anrui.flowable.api.flowtask.FlowTaskVo;
import com.yxt.anrui.flowable.api.flowtask.LatestTaskVo;
import com.yxt.anrui.flowable.api.utils.ProcDefEnum;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loandiff.*;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.*;
import com.yxt.anrui.riskcenter.api.loandiffdetails.*;
@ -64,6 +68,8 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
private LoanDiffDetailsService loanDiffDetailsService;
@Autowired
private FileUploadComponent fileUploadComponent;
@Autowired
private SysUserFeign sysUserFeign;
/**
* 判断提交的流程是否被允许
@ -387,9 +393,50 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("ld.createByName", query.getCreateByName());
}
//数据授权
//========================================数据授权开始
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("ld.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("ld.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("ld.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("ld.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("ld.createBySid", query.getUserSid());
} else {
PagerVo<LoanDiffVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanDiffVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<LoanDiffVo> p = new PagerVo<>();
return p;
}
//申请日期开始时间
String createTimeStart = query.getCreateTimeStart();
//申请日期结束时间
@ -431,6 +478,7 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
if (loanDiff == null) {
return rb.setMsg("该申请不存在");
}
BeanUtil.copyProperties(dto,loanDiff,"sid");
List<LoanDiffDetailsDto> loanDiffDetailsList = dto.getLoanDiffDetails();
loanDiffDetailsList.removeAll(Collections.singleton(null));
if (!loanDiffDetailsList.isEmpty()) {
@ -441,12 +489,18 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
loanDiffDetailsService.updateById(loanDiffDetails1);
}
}
List<String> filesList = dto.getFilesList();
filesList.removeAll(Collections.singleton(null));
if (!filesList.isEmpty()) {
String fils = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
loanDiff.setFiles(fils);
baseMapper.updateById(loanDiff);
// List<String> filesList = dto.getFilesList();
List<DiffFile> fileLists = dto.getFilesList();
fileLists.removeAll(Collections.singleton(null));
if (!fileLists.isEmpty()) {
List<String> files = fileLists.stream().map(v->v.getUrl()).collect(Collectors.toList());
files.removeAll(Collections.singleton(null));
if(!files.isEmpty()){
String filss = String.join(",", files).replaceAll(fileUploadComponent.getUrlPrefix(), "");
loanDiff.setFiles(filss);
baseMapper.updateById(loanDiff);
}
}
return rb.success();
}
@ -466,7 +520,13 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
String files = loanDiff.getFiles();
if (StringUtils.isNotBlank(files)) {
List<String> stringList = Arrays.asList(files.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList());
details.setFiles(stringList);
List<DiffFile> fileList = new ArrayList<>();
for (int i = 0; i < stringList.size(); i++) {
DiffFile diffFile = new DiffFile();
diffFile.setUrl(stringList.get(i));
fileList.add(diffFile);
}
details.setFilesList(fileList);
}
List<LoanDiffDetailssVo> detailssVoList = loanDiffDetailsService.selectByMainSid(sid);
detailssVoList.removeAll(Collections.singleton(null));
@ -498,4 +558,12 @@ public class LoanDiffService extends MybatisBaseService<LoanDiffMapper, LoanDiff
}
return rb.success().setData(loanDiffDetailsssApp);
}
public ResultBean delegate(DelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

6
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loandiff/LoanDiffsFeign.java

@ -1,5 +1,6 @@
package com.yxt.anrui.terminal.api.risk.loandiff;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.DiffDelegateQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyDto;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffTaskQuery;
@ -53,4 +54,9 @@ public interface LoanDiffsFeign {
@GetMapping("/getFlowOperateTitle")
@ResponseBody
ResultBean<String> getFlowOperateTitle(@SpringQueryMap LoanDiffApplyQuery query);
@ApiOperation(value = "加签")
@PutMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody DiffDelegateQuery delegateQuery);
}

26
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loandiff/flowable/DiffDelegateQuery.java

@ -0,0 +1,26 @@
package com.yxt.anrui.terminal.api.risk.loandiff.flowable;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2023/11/15
**/
@Data
public class DiffDelegateQuery {
@ApiModelProperty
private String userSid;
@ApiModelProperty("流程实例id")
@JsonProperty("procInsId")
private String instanceId;
@ApiModelProperty("任务Id")
private String taskId;
@ApiModelProperty("审批人sid")
private String assignee;
@ApiModelProperty("填写意见")
private String views;
}

6
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loandiff/LoanDiffsRest.java

@ -2,6 +2,7 @@ package com.yxt.anrui.terminal.biz.risk.loandiff;
import com.yxt.anrui.terminal.api.risk.loandiff.LoanDiffsFeign;
import com.yxt.anrui.terminal.api.risk.loandiff.LoanDiffsVo;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.DiffDelegateQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyDto;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffTaskQuery;
@ -51,4 +52,9 @@ public class LoanDiffsRest implements LoanDiffsFeign {
public ResultBean<String> getFlowOperateTitle(LoanDiffApplyQuery query) {
return loanDiffsService.getFlowOperateTitle(query);
}
@Override
public ResultBean delegate(DiffDelegateQuery delegateQuery) {
return loanDiffsService.delegate(delegateQuery);
}
}

16
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loandiff/LoanDiffsService.java

@ -1,16 +1,15 @@
package com.yxt.anrui.terminal.biz.risk.loandiff;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.base.api.busvehicleapply.flow.AppBusVehicleApplyDelegateQuery;
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffDetailsssApp;
import com.yxt.anrui.riskcenter.api.loandiff.LoanDiffFeign;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.DiffApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.DiffApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.DiffApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.DiffCompleteDto;
import com.yxt.anrui.riskcenter.api.loandiff.flowable.*;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyTaskQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.LoanDiffsVo;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.DiffDelegateQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyDto;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffApplyQuery;
import com.yxt.anrui.terminal.api.risk.loandiff.flowable.LoanDiffTaskQuery;
@ -115,4 +114,13 @@ public class LoanDiffsService {
}
return rb.success().setData(data);
}
public ResultBean delegate(DiffDelegateQuery delegateQuery) {
ResultBean rb = ResultBean.fireFail();
DelegateQuery delegateQuery1 = new
DelegateQuery();
BeanUtil.copyProperties(delegateQuery, delegateQuery1);
ResultBean delegate = loanDiffFeign.delegate(delegateQuery1);
return rb.success();
}
}

Loading…
Cancel
Save