|
@@ -1,22 +1,19 @@
|
|
|
-package com.ruoyi.system.service.loan.impl;
|
|
|
+package com.ruoyi.framework.web.service;
|
|
|
|
|
|
|
|
|
-import cn.hutool.extra.qrcode.QrCodeUtil;
|
|
|
-import com.alibaba.fastjson2.JSONArray;
|
|
|
import com.alibaba.fastjson2.JSONObject;
|
|
|
import com.deepoove.poi.data.PictureRenderData;
|
|
|
import com.deepoove.poi.data.Pictures;
|
|
|
import com.ruoyi.common.config.RuoYiConfig;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
-import com.ruoyi.common.core.domain.entity.SysRole;
|
|
|
import com.ruoyi.common.core.redis.RedisCache;
|
|
|
import com.ruoyi.common.utils.*;
|
|
|
-import com.ruoyi.common.utils.file.FileUploadUtils;
|
|
|
import com.ruoyi.common.utils.poi.ExcelFillUtils;
|
|
|
import com.ruoyi.common.utils.poi.WordUtil;
|
|
|
import com.ruoyi.common.utils.uuid.Seq;
|
|
|
import com.ruoyi.common.utils.uuid.IdUtils;
|
|
|
-import com.ruoyi.common.utils.uuid.UUID;
|
|
|
+import com.ruoyi.framework.manager.AsyncManager;
|
|
|
+import com.ruoyi.framework.manager.factory.AsyncFactory;
|
|
|
import com.ruoyi.system.domain.SysUserRole;
|
|
|
import com.ruoyi.system.domain.conference.SysUserConference;
|
|
|
import com.ruoyi.system.domain.enterprise.SysUserEnterprise;
|
|
@@ -28,24 +25,16 @@ import com.ruoyi.system.domain.remind.WaitRemind;
|
|
|
import com.ruoyi.system.domain.review.ReviewComments;
|
|
|
import com.ruoyi.system.mapper.*;
|
|
|
import com.ruoyi.system.service.loan.ILoanApplicationService;
|
|
|
-import lombok.SneakyThrows;
|
|
|
-import org.apache.commons.io.FilenameUtils;
|
|
|
import org.apache.commons.lang3.ObjectUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-
|
|
|
import java.io.*;
|
|
|
-import java.nio.file.Files;
|
|
|
-import java.nio.file.Path;
|
|
|
-import java.nio.file.Paths;
|
|
|
import java.util.*;
|
|
|
import java.io.File;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.zip.ZipEntry;
|
|
|
import java.util.zip.ZipOutputStream;
|
|
|
-
|
|
|
import static com.ruoyi.common.constant.CommonConstants.*;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
@@ -200,7 +189,7 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
loanApplicationFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
loanApplicationFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber()));
|
|
|
loanApplicationFjMapper.batchLoanApplicationFj(loanApplicationFjList);
|
|
|
}
|
|
|
List<ShareholderFj> shareholderFjList = loanApplication.getShareholderFjList();
|
|
@@ -209,7 +198,7 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
shareholderFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
shareholderFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber()));
|
|
|
shareholderFjMapper.batchShareholderFj(shareholderFjList);
|
|
|
}
|
|
|
|
|
@@ -225,203 +214,9 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
return i;
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * 合并图片生成PDF保存为文件
|
|
|
- *
|
|
|
- * @param shareholderFjList
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Async
|
|
|
- public List<ShareholderFj> createPdfFromImagesShareholder(List<ShareholderFj> shareholderFjList, String loanApplicationNumber) {
|
|
|
- List<String> imagePaths = new ArrayList<>();
|
|
|
- //根据文件类型进行判断是否需要合成pdf
|
|
|
- for (ShareholderFj shareholderFj : shareholderFjList) {
|
|
|
- String shareholderZxUrl = shareholderFj.getShareholderZxUrl();
|
|
|
- if (StringUtils.isNotEmpty(shareholderZxUrl)) {
|
|
|
- String[] split = shareholderZxUrl.split(",");
|
|
|
- for (String fileName : split) {
|
|
|
- if ("png".equals(fileName.split("\\.")[1]) || "jpg".equals(fileName.split("\\.")[1]) || "jpeg".equals(fileName.split("\\.")[1])){
|
|
|
- imagePaths.add(fileName);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if (imagePaths.size() > 0) {
|
|
|
- String substring = imagePaths.get(0).substring(imagePaths.get(0).lastIndexOf("/")+1, imagePaths.get(0).lastIndexOf("_"))+Seq.getId(Seq.uploadSeqType);
|
|
|
|
|
|
- for (int i = 0; i < imagePaths.size(); i++) {
|
|
|
- //前缀替换
|
|
|
- String replaced = imagePaths.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- imagePaths.set(i, replaced);
|
|
|
- }
|
|
|
|
|
|
- // 上传文件路径 = 根+申请编号
|
|
|
- String filePath = StringUtils.format("{}/{}/{}.{}", RuoYiConfig.getUploadPath(), loanApplicationNumber,
|
|
|
- FilenameUtils.getBaseName(substring), "pdf");
|
|
|
- //pdf保存位置
|
|
|
- File outPutPdf = new File(filePath);
|
|
|
- try {
|
|
|
- FileUploadUtils.createPdfFromImages(imagePaths, outPutPdf);
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- shareholderFj.setShareholderZxUrlPdf(StringUtils.format("{}/{}/{}.{}", "/profile/upload", loanApplicationNumber,
|
|
|
- FilenameUtils.getBaseName(substring), "pdf"));
|
|
|
- }
|
|
|
- }
|
|
|
- return shareholderFjList;
|
|
|
- }
|
|
|
|
|
|
- /**
|
|
|
- * 合并图片生成PDF保存为文件
|
|
|
- *
|
|
|
- * @param loanApplicationFjList
|
|
|
- * @return
|
|
|
- */
|
|
|
- @Async
|
|
|
- public List<LoanApplicationFj> createPdfFromImages(List<LoanApplicationFj> loanApplicationFjList, String loanApplicationNumber) {
|
|
|
- //根据文件类型进行判断是否需要合成pdf
|
|
|
- Map<String, List<LoanApplicationFj>> bigTypeMap = loanApplicationFjList.stream().collect(Collectors.groupingBy(LoanApplicationFj::getBigType));
|
|
|
- if (bigTypeMap.size() > 0){
|
|
|
- List<LoanApplicationFj> loanApplicationFjListA = bigTypeMap.get(A);
|
|
|
- List<LoanApplicationFj> loanApplicationFjListB = bigTypeMap.get(B);
|
|
|
- createPdfFromImages(loanApplicationFjList,loanApplicationFjListA,loanApplicationNumber,A);
|
|
|
- createPdfFromImages(loanApplicationFjList,loanApplicationFjListB,loanApplicationNumber,B);
|
|
|
- }
|
|
|
-/* //公司章程
|
|
|
- List<String> gszc = loanApplicationFjList.stream().filter(e -> "gszc".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //申请企业征信报告
|
|
|
- List<String> sqqyzxbg = loanApplicationFjList.stream().filter(e -> "sqqyzxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //关联企业征信报告
|
|
|
- List<String> glqyzxbg = loanApplicationFjList.stream().filter(e -> "glqyzxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //企业法人征信报告
|
|
|
- List<String> qyfrzxbg = loanApplicationFjList.stream().filter(e -> "qyfrzxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //实际控股人征信报告
|
|
|
- List<String> sjkgrzxbg = loanApplicationFjList.stream().filter(e -> "sjkgrzxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //实际控股人配偶征信报告
|
|
|
- List<String> sjkgrpozxbg = loanApplicationFjList.stream().filter(e -> "sjkgrpozxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //反担保人个人征信报告
|
|
|
- List<String> fdbrgrzxbg = loanApplicationFjList.stream().filter(e -> "fdbrgrzxbg".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- //反担保企业征信报告
|
|
|
- List<String> fdbqyzx = loanApplicationFjList.stream().filter(e -> "fdbqyzx".equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
-
|
|
|
- if (gszc.size() > 0) {
|
|
|
- for (int i = 0; i < gszc.size(); i++) {
|
|
|
- ///profile/upload/RZDB202405281147018884551/公司章程_20240528114820A002.png 前缀替换
|
|
|
- String replaced = gszc.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- gszc.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, gszc, loanApplicationNumber, "公司章程_" + Seq.getId(Seq.uploadSeqType), "gszc");
|
|
|
- }
|
|
|
- if (sqqyzxbg.size() > 0) {
|
|
|
- for (int i = 0; i < sqqyzxbg.size(); i++) {
|
|
|
- String replaced = sqqyzxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- sqqyzxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, sqqyzxbg, loanApplicationNumber, "申请企业征信报告_" + Seq.getId(Seq.uploadSeqType), "sqqyzxbg");
|
|
|
- }
|
|
|
- if (glqyzxbg.size() > 0) {
|
|
|
- for (int i = 0; i < glqyzxbg.size(); i++) {
|
|
|
- String replaced = glqyzxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- glqyzxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, glqyzxbg, loanApplicationNumber, "关联企业征信报告_" + Seq.getId(Seq.uploadSeqType), "glqyzxbg");
|
|
|
- }
|
|
|
- if (qyfrzxbg.size() > 0) {
|
|
|
- for (int i = 0; i < qyfrzxbg.size(); i++) {
|
|
|
- String replaced = qyfrzxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- qyfrzxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, qyfrzxbg, loanApplicationNumber, "企业法人征信报告_" + Seq.getId(Seq.uploadSeqType), "qyfrzxbg");
|
|
|
- }
|
|
|
- if (sjkgrzxbg.size() > 0) {
|
|
|
- for (int i = 0; i < sjkgrzxbg.size(); i++) {
|
|
|
- String replaced = sjkgrzxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- sjkgrzxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, sjkgrzxbg, loanApplicationNumber, "实际控股人征信报告_" + Seq.getId(Seq.uploadSeqType), "sjkgrzxbg");
|
|
|
- }
|
|
|
- if (sjkgrpozxbg.size() > 0) {
|
|
|
- for (int i = 0; i < sjkgrpozxbg.size(); i++) {
|
|
|
- String replaced = sjkgrpozxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- sjkgrpozxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, sjkgrpozxbg, loanApplicationNumber, "实际控股人配偶征信报告_" + Seq.getId(Seq.uploadSeqType), "sjkgrpozxbg");
|
|
|
- }
|
|
|
- if (fdbrgrzxbg.size() > 0) {
|
|
|
- for (int i = 0; i < fdbrgrzxbg.size(); i++) {
|
|
|
- String replaced = fdbrgrzxbg.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- fdbrgrzxbg.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, fdbrgrzxbg, loanApplicationNumber, "反担保人个人征信报告_" + Seq.getId(Seq.uploadSeqType), "fdbrgrzxbg");
|
|
|
- }
|
|
|
- if (fdbqyzx.size() > 0) {
|
|
|
- for (int i = 0; i < fdbqyzx.size(); i++) {
|
|
|
- String replaced = fdbqyzx.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- fdbqyzx.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, fdbqyzx, loanApplicationNumber, "反担保企业征信报告_" + Seq.getId(Seq.uploadSeqType), "fdbqyzx");
|
|
|
- }*/
|
|
|
- return loanApplicationFjList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- *
|
|
|
- * @param loanApplicationFjList 全体附件
|
|
|
- * @param loanApplicationFjListA 分附件大类集合
|
|
|
- * @return
|
|
|
- */
|
|
|
- public List<LoanApplicationFj> createPdfFromImages(List<LoanApplicationFj> loanApplicationFjList, List<LoanApplicationFj> loanApplicationFjListA,String loanApplicationNumber,String bigType){
|
|
|
- if (loanApplicationFjListA != null && loanApplicationFjListA.size() > 0){
|
|
|
- Map<String, List<LoanApplicationFj>> typeMap = loanApplicationFjListA.stream().collect(Collectors.groupingBy(LoanApplicationFj::getType));
|
|
|
- for (String type : typeMap.keySet()) {
|
|
|
- List<LoanApplicationFj> loanApplicationFjListInsert = typeMap.get(type);
|
|
|
- //获取附件名称
|
|
|
- String fjName = loanApplicationFjListInsert.get(0).getName().split("_")[0];
|
|
|
- List<String> typeList = loanApplicationFjListInsert.stream().filter(e -> type.equals(e.getType()) && ("png".equals(e.getName().split("\\.")[1]) || "jpg".equals(e.getName().split("\\.")[1]) || "jpeg".equals(e.getName().split("\\.")[1]))).map(LoanApplicationFj::getUrl).collect(Collectors.toList());
|
|
|
- if (typeList.size() > 0){
|
|
|
- for (int i = 0; i < typeList.size(); i++) {
|
|
|
- ///profile/upload/RZDB202405281147018884551/公司章程_20240528114820A002.png 前缀替换
|
|
|
- String replaced = typeList.get(i).replace("/profile/upload", RuoYiConfig.getUploadPath());
|
|
|
- typeList.set(i, replaced);
|
|
|
- }
|
|
|
- createPdfFromImages(loanApplicationFjList, typeList, loanApplicationNumber, fjName+"_" + Seq.getId(Seq.uploadSeqType), type,bigType);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- return loanApplicationFjList;
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * @param imagePaths 图片地址集合
|
|
|
- * @param loanApplicationNumber 申请编号
|
|
|
- * @param originalFilename pdf文件名称
|
|
|
- * @param type 文件类型
|
|
|
- */
|
|
|
- public List<LoanApplicationFj> createPdfFromImages(List<LoanApplicationFj> loanApplicationFjList, List<String> imagePaths, String loanApplicationNumber, String originalFilename, String type,String bigType) {
|
|
|
- // 上传文件路径 = 根+申请编号
|
|
|
- String filePath = StringUtils.format("{}/{}/{}.{}", RuoYiConfig.getUploadPath(), loanApplicationNumber,
|
|
|
- FilenameUtils.getBaseName(originalFilename), "pdf");
|
|
|
- //pdf保存位置
|
|
|
- File outPutPdf = new File(filePath);
|
|
|
- try {
|
|
|
- FileUploadUtils.createPdfFromImages(imagePaths, outPutPdf);
|
|
|
- //往附件信息中插入对应PDF数据
|
|
|
- LoanApplicationFj applicationFj = new LoanApplicationFj();
|
|
|
- applicationFj.setLoanApplicationId(loanApplicationFjList.get(0).getLoanApplicationId());
|
|
|
- applicationFj.setLoanApplicationNumber(loanApplicationNumber);
|
|
|
- applicationFj.setName(originalFilename + ".pdf");
|
|
|
- applicationFj.setUrl(StringUtils.format("{}/{}/{}.{}", "/profile/upload", loanApplicationNumber,
|
|
|
- FilenameUtils.getBaseName(originalFilename), "pdf"));
|
|
|
- applicationFj.setBigType(bigType);
|
|
|
- applicationFj.setType(type);
|
|
|
- //给前端判断是否是系统生成的pdf
|
|
|
- applicationFj.setRemark(ONE);
|
|
|
- loanApplicationFjList.add(applicationFj);
|
|
|
- } catch (IOException e) {
|
|
|
- e.printStackTrace();
|
|
|
- }
|
|
|
- return loanApplicationFjList;
|
|
|
- }
|
|
|
|
|
|
/**
|
|
|
* 修改贷款申请主
|
|
@@ -443,7 +238,8 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
loanApplicationFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
loanApplicationFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber()));
|
|
|
+
|
|
|
loanApplicationFjMapper.batchLoanApplicationFj(loanApplicationFjList);
|
|
|
}
|
|
|
shareholderFjMapper.deleteShareholderFjByLoanApplicationId(loanApplicationId);
|
|
@@ -453,7 +249,7 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
shareholderFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
shareholderFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber()));
|
|
|
shareholderFjMapper.batchShareholderFj(shareholderFjList);
|
|
|
}
|
|
|
return loanApplicationMapper.updateLoanApplication(loanApplication);
|
|
@@ -466,7 +262,7 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public int temporary(LoanApplication loanApplication) {
|
|
|
+ public AjaxResult temporary(LoanApplication loanApplication) {
|
|
|
loanApplication.setLoanApplicationType(ONE);
|
|
|
Long loanApplicationId = loanApplication.getLoanApplicationId();
|
|
|
//走修改
|
|
@@ -479,7 +275,8 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
loanApplicationFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
loanApplicationFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber()));
|
|
|
+
|
|
|
loanApplicationFjMapper.batchLoanApplicationFj(loanApplicationFjList);
|
|
|
}
|
|
|
shareholderFjMapper.deleteShareholderFjByLoanApplicationId(loanApplicationId);
|
|
@@ -489,10 +286,19 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
shareholderFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
shareholderFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber()));
|
|
|
+
|
|
|
shareholderFjMapper.batchShareholderFj(shareholderFjList);
|
|
|
}
|
|
|
- return loanApplicationMapper.updateLoanApplication(loanApplication);
|
|
|
+ int rows = loanApplicationMapper.updateLoanApplication(loanApplication);
|
|
|
+ return rows>0?AjaxResult.success() : AjaxResult.error();
|
|
|
+ }
|
|
|
+ LoanApplication loanApplicationNew = new LoanApplication();
|
|
|
+ loanApplicationNew.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
+ //暂存先去判断项目编号是否重复
|
|
|
+ List<LoanApplication> loanApplications = loanApplicationMapper.selectLoanApplicationList(loanApplicationNew);
|
|
|
+ if (loanApplications != null && loanApplications.size() > 0){
|
|
|
+ return AjaxResult.error("请勿重复暂存");
|
|
|
}
|
|
|
//设置为audit_schedule=1 audit_type=1
|
|
|
loanApplication.setAuditSchedule(ONE);
|
|
@@ -501,14 +307,14 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
loanApplication.setUserId(SecurityUtils.getUserId());
|
|
|
//贷款申请进度进入申报提交
|
|
|
loanApplication.setLoanSchedule(ONE);
|
|
|
- int i = loanApplicationMapper.insertLoanApplication(loanApplication);
|
|
|
+ int rows = loanApplicationMapper.insertLoanApplication(loanApplication);
|
|
|
List<LoanApplicationFj> loanApplicationFjList = loanApplication.getLoanApplicationFjList();
|
|
|
if (loanApplicationFjList != null && loanApplicationFjList.size() > 0) {
|
|
|
for (LoanApplicationFj loanApplicationFj : loanApplicationFjList) {
|
|
|
loanApplicationFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
loanApplicationFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImages(loanApplicationFjList, loanApplication.getLoanApplicationNumber()));
|
|
|
loanApplicationFjMapper.batchLoanApplicationFj(loanApplicationFjList);
|
|
|
}
|
|
|
List<ShareholderFj> shareholderFjList = loanApplication.getShareholderFjList();
|
|
@@ -517,10 +323,10 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
shareholderFj.setLoanApplicationId(loanApplication.getLoanApplicationId());
|
|
|
shareholderFj.setLoanApplicationNumber(loanApplication.getLoanApplicationNumber());
|
|
|
}
|
|
|
- createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber());
|
|
|
+ AsyncManager.me().execute(AsyncFactory.createPdfFromImagesShareholder(shareholderFjList,loanApplication.getLoanApplicationNumber()));
|
|
|
shareholderFjMapper.batchShareholderFj(shareholderFjList);
|
|
|
}
|
|
|
- return i;
|
|
|
+ return rows>0?AjaxResult.success() : AjaxResult.error();
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -1019,7 +825,6 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
/**
|
|
|
* 导出模板附件
|
|
|
*/
|
|
|
- @SneakyThrows
|
|
|
@Override
|
|
|
public AjaxResult exportMb(LoanApplication loanApplication) {
|
|
|
Map<String, Object> map = new HashMap<>();
|
|
@@ -1075,7 +880,12 @@ public class LoanApplicationServiceImpl implements ILoanApplicationService {
|
|
|
json.put("loanApplicationNumber", loanApplication.getLoanApplicationNumber());
|
|
|
json.put("bigType", bigType);
|
|
|
json.put("fileType", fileType);
|
|
|
- String imagePath = QRCodeUtils.encodeNodate(json.toString(), null, ewmPath, true);
|
|
|
+ String imagePath = null;
|
|
|
+ try {
|
|
|
+ imagePath = QRCodeUtils.encodeNodate(json.toString(), null, ewmPath, true);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
if (StringUtils.isNotEmpty(imagePath)) {
|
|
|
PictureRenderData picture = Pictures.ofLocal(imagePath).size(70, 70).create();//本地图片地址
|
|
|
params.put("signPicture", picture);
|