Browse Source

逾期对账申请修改

master
dimengzhe 1 year ago
parent
commit
0b9c84d41b
  1. 2
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/DownExcelOverdueBankVo.java
  2. 21
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/ExcelBankVo.java
  3. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java
  4. 14
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankFeign.java
  5. 19
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/ReturnExcelBankVo.java
  6. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/flowable/OverBankApplyDelegateQuery.java
  7. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java
  8. 7
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java
  9. 11
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinFeign.java
  10. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/flowable/OverFinApplyDelegateQuery.java
  11. 13
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankRest.java
  12. 196
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebank/LoanOverdueBankService.java
  13. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.java
  14. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml
  15. 5
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsService.java
  16. 10
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinRest.java
  17. 27
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduefin/LoanOverdueFinService.java

2
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/DownExcelOverdueBankVo.java

@ -12,7 +12,7 @@ import lombok.Data;
@Data
public class DownExcelOverdueBankVo {
@ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo")
@ExportEntityMap(CnName = "资方合同号", EnName = "bankContractNo")
private String bankContractNo;
@ExportEntityMap(CnName = "期数", EnName = "period")
private String period;

21
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/ExcelBankVo.java

@ -0,0 +1,21 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import com.yxt.common.core.utils.ExportEntityMap;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/12
**/
@Data
public class ExcelBankVo {
@ApiModelProperty("资方合同编号")
private String bankContractNo;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("资方逾期月还")
private String bankOverdueMoney;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/LoanOverdueBankDetailVo.java

@ -40,4 +40,11 @@ public class LoanOverdueBankDetailVo {
@JsonIgnore
private String files;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "流程实例id")
private String procInstId;
@ApiModelProperty("分公司sid")
private String useOrgSid;
}

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

@ -8,8 +8,11 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.io.IOException;
import java.util.List;
/**
@ -40,6 +43,12 @@ public interface LoanOverdueBankFeign {
@ApiOperation(value = "下载模板")
public void downloadExcel();
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo")
ResultBean<List<ExcelBankVo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request, @RequestParam(value = "useOrgSid") String useOrgSid) throws IOException;
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids);
@ -71,4 +80,9 @@ public interface LoanOverdueBankFeign {
@ApiOperation(value = "终止任务")
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody OverdueBankApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody OverBankApplyDelegateQuery query);
}

19
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/ReturnExcelBankVo.java

@ -0,0 +1,19 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank;
import com.yxt.anrui.riskcenter.api.loanoverduefin.ExcelFinVo;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/12
**/
@Data
public class ReturnExcelBankVo {
private String checkInfo;
private List<ExcelBankVo> infos = new ArrayList<>();
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebank/flowable/OverBankApplyDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanoverduebank.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/12
**/
@Data
public class OverBankApplyDelegateQuery {
@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;
}

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduebankdetails/LoanOverdueBankDetailsDto.java

@ -39,8 +39,8 @@ public class LoanOverdueBankDetailsDto {
private String overdueMoney;
@ApiModelProperty("资方逾期月还")
private String bankOverdueMoney;
@ApiModelProperty("资方逾期利息")
private String bankOverdueInterest;
/* @ApiModelProperty("资方逾期利息")
private String bankOverdueInterest;*/
@ApiModelProperty("差异金额")
private String diffMoney;
}

7
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/LoanOverdueFinDetailVo.java

@ -43,4 +43,11 @@ public class LoanOverdueFinDetailVo {
private String orgPath;
@JsonIgnore
private String files;
@ApiModelProperty(value = "任务id")
private String taskId;
@ApiModelProperty(value = "流程实例id")
private String procInstId;
private String useOrgSid;
}

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

@ -1,9 +1,6 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.CompleteDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.*;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
@ -82,4 +79,10 @@ public interface LoanOverdueFinFeign {
@PostMapping(value = "/breakProcess")
public ResultBean breakProcess(@Valid @RequestBody OverdueApplyTaskQuery query);
@ApiOperation(value = "加签")
@PostMapping(value = "/delegate")
@ResponseBody
public ResultBean delegate(@RequestBody OverFinApplyDelegateQuery query);
}

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanoverduefin/flowable/OverFinApplyDelegateQuery.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanoverduefin.flowable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/1/12
**/
@Data
public class OverFinApplyDelegateQuery {
@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;
}

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

@ -13,8 +13,11 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
@ -66,6 +69,11 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign {
ExportExcelUtils.export(fileNameURL, list, DownExcelOverdueBankVo.class, response);
}
@Override
public ResultBean<List<ExcelBankVo>> getExcelInfo(MultipartFile file, HttpServletRequest request, String useOrgSid) throws IOException {
return loanOverdueBankService.getExcelInfo(file, request, useOrgSid);
}
@Override
public ResultBean delBySids(String[] sids) {
return loanOverdueBankService.delAllBySids(sids);
@ -108,4 +116,9 @@ public class LoanOverdueBankRest implements LoanOverdueBankFeign {
public ResultBean breakProcess(OverdueBankApplyTaskQuery query) {
return loanOverdueBankService.breakProcess(query);
}
@Override
public ResultBean delegate(OverBankApplyDelegateQuery query) {
return loanOverdueBankService.delegate(query);
}
}

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

@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder;
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;
@ -21,14 +22,14 @@ import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.*;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.OverdueBankApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.SubmitApplyBankDto;
import com.yxt.anrui.riskcenter.api.loanoverduebank.flowable.*;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.ExcelFinVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.LoanOverdueFinVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.ReturnExcelFinVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetailsDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import com.yxt.anrui.riskcenter.biz.loanoverduebankdetails.LoanOverdueBankDetailsService;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
@ -40,10 +41,21 @@ import com.yxt.messagecenter.api.message.MessageFeign;
import com.yxt.messagecenter.api.message.MessageFlowVo;
import com.yxt.messagecenter.api.message.MessageFlowableQuery;
import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.tomcat.util.threads.ThreadPoolExecutor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -603,6 +615,7 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
List<LoanOverdueBankDetailsDto> detailsVoList = detailsVoList(useOrgSid, loanOverdueBankDetailVo.getStopDate());
loanOverdueBankDetailVo.setDetailsVoList(detailsVoList);
loanOverdueBankDetailVo.setOrgPath(orgPath);
loanOverdueBankDetailVo.setUseOrgSid(useOrgSid);
}
} else {//编辑初始化
@ -622,6 +635,9 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
loanOverdueBankDetailVo.setFilesList(fileList);
}
loanOverdueBankDetailVo.setOrgPath(loanOverdueBank.getOrgSidPath());
loanOverdueBankDetailVo.setTaskId(loanOverdueBank.getTaskId());
loanOverdueBankDetailVo.setProcInstId(loanOverdueBank.getProcInstId());
loanOverdueBankDetailVo.setUseOrgSid(loanOverdueBank.getUseOrgSid());
}
return rb.success().setData(loanOverdueBankDetailVo);
}
@ -635,4 +651,176 @@ public class LoanOverdueBankService extends MybatisBaseService<LoanOverdueBankMa
detailsDtoList.removeAll(Collections.singleton(null));
return detailsDtoList;
}
public ResultBean<List<ExcelBankVo>> getExcelInfo(MultipartFile file, HttpServletRequest request, String useOrgSid) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
if (!tempFile.exists()) {
tempFile.mkdirs();
}
String fileName = file.getOriginalFilename();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2};
List<ExcelBankVo> list = new ArrayList<>();
List<ExcelBankVo> list2 = new ArrayList<>();
boolean isExcel2003 = true;
if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
isExcel2003 = false;
}
InputStream is = file.getInputStream();
Workbook wb = null;
if (isExcel2003) {
wb = new HSSFWorkbook(is);
} else {
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
ReturnExcelBankVo importReturn = getSheetVal(sheet, resultCell, useOrgSid);
list = importReturn.getInfos();
if (StringUtils.isNotBlank(importReturn.getCheckInfo())) {
return rb.setMsg(importReturn.getCheckInfo());
} else {
return rb.success().setData(list).setMsg("成功导入数据,请点击确定按钮");
}
}
private ReturnExcelBankVo getSheetVal(Sheet sheet, int[] resultCell, String useOrgSid) {
ReturnExcelBankVo returnExcelBankVo = new ReturnExcelBankVo();
List<ExcelBankVo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
ExcelBankVo excelBankVo = new ExcelBankVo();
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
String trim = new String();
try {
trim = getCellVal(row.getCell(i)).toString().trim();
if (StringUtils.isBlank(trim)) {
NullPointerException nullPointerException = new NullPointerException();
}
String temp = getCellVal(row.getCell(i)).toString().trim();
temp = temp.replace(".0", "");
for (int j = 0; j < temp.length(); j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
excelBankVo.setBankContractNo(temp);
break;
case 1:
excelBankVo.setPeriod(temp);
break;
case 2:
excelBankVo.setBankOverdueMoney(temp);
break;
default:
break;
}
} else {
continue;
}
}
} catch (Exception e) {
if (StringUtils.isBlank(trim)) {
String word = new String();
switch (i) {
case 0:
word = "资方合同编号";
break;
case 1:
word = "期数";
break;
case 2:
word = "资方逾期月还";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(excelBankVo);
}
if (!importVoList.isEmpty()) {
for (ExcelBankVo excelBankVo : importVoList) {
if (StringUtils.isBlank(excelBankVo.getBankContractNo())) {
checkWord.add("资方合同编号不能为空");
}
if (StringUtils.isBlank(excelBankVo.getPeriod())) {
checkWord.add("期数不能为空");
}
if (StringUtils.isBlank(excelBankVo.getBankOverdueMoney())) {
checkWord.add("资方逾期月还不能为空,若无则需填写0");
}
List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanOverdueBankDetailsService.selectBankContractNo(excelBankVo.getBankContractNo(), useOrgSid);
loanRepaymentScheduleDetailsVos.removeAll(Collections.singleton(null));
if (loanRepaymentScheduleDetailsVos.isEmpty()) {
if (StringUtils.isNotBlank(excelBankVo.getBankContractNo())) {
checkWord.add("资方合同编号" + excelBankVo.getBankContractNo() + "在还款计划表中不存在");
break;
}
}
}
}
StringBuffer sbcheck1 = new StringBuffer();
if (!checkWord.isEmpty()) {
for (String s : checkWord) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck1.append(s).append(";");
}
}
if (sbcheck1.length() > 0) {
sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length());
returnExcelBankVo.setCheckInfo(sbcheck1.toString());
returnExcelBankVo.setInfos(new ArrayList<>());
return returnExcelBankVo;
}
returnExcelBankVo.setInfos(importVoList);
return returnExcelBankVo;
}
public Object getCellVal(Cell cell) {
Object obj = null;
if (cell != null) {
switch (cell.getCellTypeEnum()) {
case BOOLEAN:
obj = cell.getBooleanCellValue();
break;
case ERROR:
obj = cell.getErrorCellValue();
break;
case NUMERIC:
obj = cell.getNumericCellValue();
break;
case STRING:
obj = cell.getStringCellValue();
break;
default:
break;
}
}
return obj;
}
public ResultBean delegate(OverBankApplyDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.java

@ -3,7 +3,9 @@ package com.yxt.anrui.riskcenter.biz.loanoverduebankdetails;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetails;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -17,4 +19,6 @@ public interface LoanOverdueBankDetailsMapper extends BaseMapper<LoanOverdueBank
int deleteByMainSid(String sid);
List<LoanOverdueBankDetailsDto> selectByMainSid(String sid);
List<LoanRepaymentScheduleDetailsVo> selectBankContractNo(@Param("bankContractNo") String bankContractNo, @Param("useOrgSid") String useOrgSid);
}

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsMapper.xml

@ -26,4 +26,10 @@
from loan_overdue_bank_details
where mainSid = #{sid}
</select>
<select id="selectBankContractNo"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo">
select ld.* from anrui_riskcenter.loan_repayment_plan_details ld
where ld.bankContractNo = #{bankContractNo} and ld.useOrgSid = #{useOrgSid}
</select>
</mapper>

5
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanoverduebankdetails/LoanOverdueBankDetailsService.java

@ -5,6 +5,7 @@ import com.yxt.anrui.riskcenter.api.loanoverduebank.LoanOverdueBank;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetails;
import com.yxt.anrui.riskcenter.api.loanoverduebankdetails.LoanOverdueBankDetailsDto;
import com.yxt.anrui.riskcenter.api.loanoverduefindetails.LoanOverdueFinDetails;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.StringUtils;
import org.springframework.stereotype.Service;
@ -35,4 +36,8 @@ public class LoanOverdueBankDetailsService extends MybatisBaseService<LoanOverdu
public int deleteByMainSid(String s) {
return baseMapper.deleteByMainSid(s);
}
public List<LoanRepaymentScheduleDetailsVo> selectBankContractNo(String bankContractNo, String useOrgSid) {
return baseMapper.selectBankContractNo(bankContractNo,useOrgSid);
}
}

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

@ -4,10 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereExportVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.*;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.CompleteDto;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyTaskQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.*;
import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateVo;
import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery;
@ -119,4 +116,9 @@ public class LoanOverdueFinRest implements LoanOverdueFinFeign {
public ResultBean breakProcess(OverdueApplyTaskQuery query) {
return loanOverdueFinService.breakProcess(query);
}
@Override
public ResultBean delegate(OverFinApplyDelegateQuery query) {
return loanOverdueFinService.delegate(query);
}
}

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

@ -10,6 +10,7 @@ import com.yxt.anrui.base.api.basepurchasesystem.BasePurchaseSystemDetailsVo;
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;
@ -24,6 +25,7 @@ import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.ReturnExcelInfo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.*;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverFinApplyDelegateQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeQuery;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyNodeVo;
import com.yxt.anrui.riskcenter.api.loanoverduefin.flowable.OverdueApplyTaskQuery;
@ -199,7 +201,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
loanOverdueFin.setCreateByName(userVoResultBean.getData().getName());
// List<String> filesList = dto.getFilesList();
List<UrlQuery> filss = dto.getFilesList();
List<String> filesList = filss.stream().map(v->v.getUrl()).collect(Collectors.toList());
List<String> filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList());
if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
loanOverdueFin.setFiles(files);
@ -219,7 +221,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
BeanUtil.copyProperties(dto, loanOverdueFin, "sid");
// List<String> filesList = dto.getFilesList();
List<UrlQuery> filss = dto.getFilesList();
List<String> filesList = filss.stream().map(v->v.getUrl()).collect(Collectors.toList());
List<String> filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList());
if (!filesList.isEmpty()) {
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), "");
loanOverdueFin.setFiles(files);
@ -605,6 +607,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
List<LoanOverdueFinDetailsDto> detailsList = detailsList(useOrgSid, loanOverdueFinDetailVo.getStopDate());
loanOverdueFinDetailVo.setDetailsVoList(detailsList);
loanOverdueFinDetailVo.setOrgPath(orgPath);
loanOverdueFinDetailVo.setUseOrgSid(useOrgSid);
} else {//编辑初始化
LoanOverdueFin loanOverdueFin = fetchBySid(sid);
if (loanOverdueFin == null) {
@ -628,6 +631,9 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
loanOverdueFinDetailVo.setFilesList(list);
}
loanOverdueFinDetailVo.setOrgPath(loanOverdueFin.getOrgSidPath());
loanOverdueFinDetailVo.setTaskId(loanOverdueFin.getTaskId());
loanOverdueFinDetailVo.setProcInstId(loanOverdueFin.getProcInstId());
loanOverdueFinDetailVo.setUseOrgSid(loanOverdueFin.getUseOrgSid());
}
return rb.success().setData(loanOverdueFinDetailVo);
}
@ -642,7 +648,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
return detailsDtoList;
}
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request,String useOrgSid) throws IOException {
public ResultBean<List<ExcelFinVo>> getExcelInfo(MultipartFile file, HttpServletRequest request, String useOrgSid) throws IOException {
ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp);
@ -668,11 +674,11 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
wb = new XSSFWorkbook(is);
}
Sheet sheet = wb.getSheetAt(0);
ReturnExcelFinVo importReturn = getSheetVal(sheet, resultCell,useOrgSid);
ReturnExcelFinVo importReturn = getSheetVal(sheet, resultCell, useOrgSid);
list = importReturn.getInfos();
for (ExcelFinVo excelFinVo : list) {
String customerName = excelFinVo.getCustomerName();
if(customerName.contains(excelFinVo.getVinNo().substring(0,excelFinVo.getVinNo().length()-8))){
if (customerName.contains(excelFinVo.getVinNo().substring(0, excelFinVo.getVinNo().length() - 8))) {
customerName = customerName.substring(0, customerName.length() - 8);
excelFinVo.setCustomerName(customerName);
}
@ -685,7 +691,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
}
}
private ReturnExcelFinVo getSheetVal(Sheet sheet, int[] resultCell,String useOrgSid) {
private ReturnExcelFinVo getSheetVal(Sheet sheet, int[] resultCell, String useOrgSid) {
ReturnExcelFinVo returnExcelFinVo = new ReturnExcelFinVo();
List<ExcelFinVo> importVoList = new ArrayList<>();
Set<String> checkWord = new HashSet<>();
@ -768,7 +774,7 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
if (StringUtils.isBlank(excelFinVo.getTiredDeficiency())) {
checkWord.add("财务累欠金额不能为空");
}
List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanOverdueFinDetailsService.selectByCustomerNo(excelFinVo.getCustomerNo(),useOrgSid);
List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanOverdueFinDetailsService.selectByCustomerNo(excelFinVo.getCustomerNo(), useOrgSid);
loanRepaymentScheduleDetailsVos.removeAll(Collections.singleton(null));
if (loanRepaymentScheduleDetailsVos.isEmpty()) {
if (StringUtils.isNotBlank(excelFinVo.getCustomerNo())) {
@ -821,4 +827,11 @@ public class LoanOverdueFinService extends MybatisBaseService<LoanOverdueFinMapp
return obj;
}
public ResultBean delegate(OverFinApplyDelegateQuery query) {
ResultBean rb = ResultBean.fireFail();
FlowDelegateQuery delegateQuery = new FlowDelegateQuery();
BeanUtil.copyProperties(query, delegateQuery);
flowFeign.delegate(delegateQuery);
return rb.success();
}
}

Loading…
Cancel
Save