Browse Source

垫款导入开发

金额报价单修改厂家贴息取值以及增加其他融贴息
master
God 1 year ago
parent
commit
e66d837301
  1. 4
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseJRFAVo.java
  2. 3
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java
  3. 2
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java
  4. 25
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/BePadsincereExcelInfo.java
  5. 37
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/BePadsincereVehExcelInfo.java
  6. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java
  7. 4
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java
  8. 13
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java
  9. 140
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java
  10. 246
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  11. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java
  12. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  13. 153
      工作内容需要的文档/单据模板/金融报价单打印模板/jrbjd.docx
  14. 14432
      工作内容需要的文档/单据模板/金融报价单打印模板/jrbjd.ftl

4
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicleout/BaseJRFAVo.java

@ -57,6 +57,8 @@ public class BaseJRFAVo {
private String bondAmount; private String bondAmount;
@ApiModelProperty("厂家贴息") @ApiModelProperty("厂家贴息")
private String factoryDiscount; private String factoryDiscount;
@ApiModelProperty("实际贴息")
private String actualDiscount;
@ApiModelProperty("厂家贴息用途") @ApiModelProperty("厂家贴息用途")
private String factoryDiscountUse; private String factoryDiscountUse;
@ApiModelProperty("年利率") @ApiModelProperty("年利率")
@ -85,6 +87,8 @@ public class BaseJRFAVo {
private String otherPolicyInterest; private String otherPolicyInterest;
@ApiModelProperty("其它融年利率") @ApiModelProperty("其它融年利率")
private String otherPolicyYearRatio; private String otherPolicyYearRatio;
@ApiModelProperty("其他融实际贴息")
private String otherActualDiscount;
/*************************方案汇总*********************************/ /*************************方案汇总*********************************/
@ApiModelProperty("'融资首付") @ApiModelProperty("'融资首付")
private String loanDownPay; private String loanDownPay;

3
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicleout/BaseVehicleOutService.java

@ -2648,7 +2648,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
dataMap.put("cpqs", baseJRFAVo.getLoanPeriod()); dataMap.put("cpqs", baseJRFAVo.getLoanPeriod());
dataMap.put("dkbzjbl", baseJRFAVo.getBondRatio()); dataMap.put("dkbzjbl", baseJRFAVo.getBondRatio());
dataMap.put("dkbzj", baseJRFAVo.getBondAmount()); dataMap.put("dkbzj", baseJRFAVo.getBondAmount());
dataMap.put("cjtx", baseJRFAVo.getFactoryDiscount()); dataMap.put("cjtx", baseJRFAVo.getActualDiscount());
dataMap.put("txyt", baseJRFAVo.getFactoryDiscountUse()); dataMap.put("txyt", baseJRFAVo.getFactoryDiscountUse());
dataMap.put("nll", baseJRFAVo.getPolicyYearRatio()); dataMap.put("nll", baseJRFAVo.getPolicyYearRatio());
dataMap.put("yhje", baseJRFAVo.getLoanPayMoney()); dataMap.put("yhje", baseJRFAVo.getLoanPayMoney());
@ -2661,6 +2661,7 @@ public class BaseVehicleOutService extends MybatisBaseService<BaseVehicleOutMapp
dataMap.put("qtrqs", baseJRFAVo.getOtherPolicyPeriod()); dataMap.put("qtrqs", baseJRFAVo.getOtherPolicyPeriod());
dataMap.put("qtrnll", baseJRFAVo.getOtherPolicyYearRatio()); dataMap.put("qtrnll", baseJRFAVo.getOtherPolicyYearRatio());
dataMap.put("qtryhje", baseJRFAVo.getOtherPolicyMonthlyRepay()); dataMap.put("qtryhje", baseJRFAVo.getOtherPolicyMonthlyRepay());
dataMap.put("qtrtx", baseJRFAVo.getOtherActualDiscount());
dataMap.put("otherPolicyInterest", baseJRFAVo.getOtherPolicyInterest()); dataMap.put("otherPolicyInterest", baseJRFAVo.getOtherPolicyInterest());
//方案汇总 //方案汇总
dataMap.put("loanDownPay", baseJRFAVo.getLoanDownPay()); dataMap.put("loanDownPay", baseJRFAVo.getLoanDownPay());

2
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finbillapplication/FinBillApplicationService.java

@ -396,7 +396,7 @@ public class FinBillApplicationService extends MybatisBaseService<FinBillApplica
qw.eq("bo.payTypeKey", "2"); qw.eq("bo.payTypeKey", "2");
qw.eq("bs.busState", "401"); qw.eq("bs.busState", "401");
qw.eq("bs.finState", "1"); qw.eq("bs.finState", "1");
qw.eq("bs.manageState", "1"); //qw.eq("bs.manageState", "1");
qw.eq("bs.carryInvoiceState", "0"); qw.eq("bs.carryInvoiceState", "0");
qw.eq("bs.invoiceApplyState", "0"); qw.eq("bs.invoiceApplyState", "0");
qw.eq("bo.useOrgSid", useOrgSid); qw.eq("bo.useOrgSid", useOrgSid);

25
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/BePadsincereExcelInfo.java

@ -0,0 +1,25 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BePadsincereExcelInfo {
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("逾期本金")
private String bePrincipal;
@ApiModelProperty("逾期罚息")
private String beDefInter;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("付款账号")
private String paymentNum;
@ApiModelProperty("资方收款账户")
private String bankCollectionAcc;
@ApiModelProperty("资方收款账号")
private String bankCollectionNum;
}

37
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/BePadsincereVehExcelInfo.java

@ -0,0 +1,37 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class BePadsincereVehExcelInfo {
/*@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("资方合同号")
private String bankContractNo;*/
@ApiModelProperty("期数")
private String period;
@ApiModelProperty("资方合同号")
private String bankContractNo;
@ApiModelProperty("逾期本金")
private String bePrincipal;
@ApiModelProperty("逾期罚息")
private String beDefInter;
@ApiModelProperty("付款账户")
private String paymentAccount;
@ApiModelProperty("付款账号")
private String paymentNum;
@ApiModelProperty("资方收款账户")
private String bankCollectionAcc;
@ApiModelProperty("资方收款账号")
private String bankCollectionNum;
}

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java

@ -25,6 +25,7 @@
*********************************************************/ *********************************************************/
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply; package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
@ -34,6 +35,7 @@ import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.text.ParseException; import java.text.ParseException;
import java.util.List; import java.util.List;
@ -79,8 +81,8 @@ public interface LoanBePadsincereApplyFeign {
@ResponseBody @ResponseBody
public ResultBean<LoanBePadsincereApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid); public ResultBean<LoanBePadsincereApplyDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid);
@ApiOperation(value = "导入")
@PostMapping("/getExcelInfo") @PostMapping("/getExcelInfo")
@ResponseBody @ResponseBody
@ApiOperation(value = "导入") public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException, ParseException;
public ResultBean getExcelInfo(@RequestParam(value = "fileName") String fileName, @RequestParam(value = "file") MultipartFile file) throws IOException, ParseException;
} }

4
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeignFallback.java

@ -31,6 +31,7 @@ import com.yxt.common.core.vo.PagerVo;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.text.ParseException; import java.text.ParseException;
import java.util.List; import java.util.List;
@ -74,7 +75,8 @@ public class LoanBePadsincereApplyFeignFallback implements LoanBePadsincereApply
} }
@Override @Override
public ResultBean getExcelInfo(String fileName, MultipartFile file) throws IOException, ParseException { public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException, ParseException {
return null; return null;
} }
} }

13
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/ReturnExcelInfo.java

@ -0,0 +1,13 @@
package com.yxt.anrui.riskcenter.api.loanbepadsincereapply;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class ReturnExcelInfo {
private String checkInfo;
private String checkInfo2;
private List<BePadsincereExcelInfo> infos = new ArrayList<>();
}

140
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java

@ -27,7 +27,9 @@ package com.yxt.anrui.riskcenter.biz.loanbepadsincereapply;
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; import com.yxt.anrui.base.api.basevehicle.BaseVehicle;
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
@ -49,14 +51,12 @@ import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyQuery;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDto;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyFeign;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/** /**
* Project: anrui-riskcenter(垫款申请) <br/> * Project: anrui-riskcenter(垫款申请) <br/>
* File: LoanBePadsincereApplyFeignFallback.java <br/> * File: LoanBePadsincereApplyFeignFallback.java <br/>
@ -115,131 +115,7 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign {
} }
@Override @Override
public ResultBean getExcelInfo(String fileName, MultipartFile file) throws IOException, ParseException { public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException {
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { return loanBePadsincereApplyService.getExcelInfo(file, request);
return ResultBean.fireFail().setMsg("上传文件不正确");
}
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
List<LoanBePadsincereVeh> resultList = 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);
resultList = getSheetVal(sheet, resultCell);
System.out.println("结果是--->" + resultList);
try {
return ResultBean.fireSuccess().setMsg("数据导入成功");
} catch (Exception e) {
e.printStackTrace();
return ResultBean.fireFail().setMsg("数据导入失败");
}
}
/**
* @param sheet 单元格
* @param resultCell 列表的值
* @description:
* @return:
* @Author: dimengzhe
* @Date: 2021/10/8 14:29
*/
public List getSheetVal(Sheet sheet, int[] resultCell) throws ParseException {
SimpleDateFormat ft = new SimpleDateFormat("yyyy-MM-dd");
List<BaseVehicleCertificate> baseVehicleCertificateList = new ArrayList<>();
int[] resultIndex = new int[resultCell.length];
LoanBePadsincereVeh loanBePadsincereVeh;
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
loanBePadsincereVeh = new LoanBePadsincereVeh();
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
/*case 0:
//车架号
//根据车架号查询车辆信息
BaseVehicle baseVehicle = baseVehicleService.selectByVinNo(temp);
if (baseVehicle != null) {
baseVehicleCertificate.setVehicleSid(baseVehicle.getSid());
}
break;
case 1:
//合格证编号
baseVehicleCertificate.setCertificationNo(temp);
break;
case 2:
//发证日期
Date date1 = ft.parse(temp);
baseVehicleCertificate.setCertificateDate(date1);
break;
case 3:
//合格证情况
baseVehicleCertificate.setCertificateSituation(temp);
break;
case 4:
//到证日期
Date date2 = ft.parse(temp);
baseVehicleCertificate.setToCardDate(date2);
break;
case 5:
//领取日期
Date date3 = ft.parse(temp);
baseVehicleCertificate.setReceiveDate(date3);
break;
case 6:
//领取人
baseVehicleCertificate.setSeatingCapacity(temp);
break;
case 7:
//备注
baseVehicleCertificate.setRemarks(temp);
break;
default:
break;*/
}
} else {
continue;
}
}
}
//baseVehicleCertificateList.add(baseVehicleCertificate);
}
return baseVehicleCertificateList;
}
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;
} }
} }

246
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java

@ -30,24 +30,37 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.riskcenter.api.loanbeoverdueveh.LoanBeOverdueVehVo; import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.*;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil; import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApply;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyQuery;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDetailsVo;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyDto;
import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.LoanBePadsincereApplyFeign;
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.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; 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.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List; import java.util.List;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/** /**
* Project: anrui-riskcenter(垫款申请) <br/> * Project: anrui-riskcenter(垫款申请) <br/>
@ -67,6 +80,8 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) { public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) {
LoanBePadsincereApplyQuery query = pq.getParams(); LoanBePadsincereApplyQuery query = pq.getParams();
@ -160,4 +175,221 @@ public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsi
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(MultipartFile file, HttpServletRequest request) 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, 3, 4, 5, 6, 7};
List<BePadsincereExcelInfo> resultList = 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);
ReturnExcelInfo importReturn = getSheetVal(sheet, resultCell);
resultList = importReturn.getInfos();
System.out.println("结果是--->" + resultList);
importReturn.setInfos(resultList);
if (!resultList.isEmpty()) {
if (StringUtils.isNotBlank(importReturn.getCheckInfo2())) {
return rb.success().setData(resultList).setMsg(importReturn.getCheckInfo2());
} else {
return rb.success().setData(resultList).setMsg("成功导入数据,请点击确定按钮");
}
} else {
String checkResult = importReturn.getCheckInfo();
return rb.success().setData(resultList).setMsg(checkResult);
}
}
private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell) {
ReturnExcelInfo importReturn = new ReturnExcelInfo();
List<BePadsincereExcelInfo> importVoList = new ArrayList<>();
int[] resultIndex = new int[resultCell.length];
Set<String> checkWord = new HashSet<>();
Set<String> checkWord2 = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r);
if (row == null) {
continue;
}
BePadsincereExcelInfo importVo = new BePadsincereExcelInfo();
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();
for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) {
switch (i) {
case 0:
importVo.setBankContractNo(temp);
break;
case 1:
importVo.setPeriod(temp);
break;
case 2:
importVo.setBePrincipal(temp);
break;
case 3:
importVo.setBeDefInter(temp);
break;
case 4:
importVo.setPaymentAccount(temp);
break;
case 5:
importVo.setPaymentNum(temp);
break;
case 6:
importVo.setBankCollectionAcc(temp);
break;
case 7:
importVo.setBankCollectionNum(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;
case 3:
word = "逾期罚息";
break;
case 4:
word = "付款账户";
break;
case 5:
word = "付款账号";
break;
case 6:
word = "资方收款账户";
break;
case 7:
word = "资方收款账号";
break;
default:
break;
}
continue;
}
}
}
importVoList.add(importVo);
}
StringBuffer sbBankCNo = new StringBuffer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!importVoList.isEmpty()) {
for (BePadsincereExcelInfo excelInfo : importVoList) {
if (StringUtils.isBlank(excelInfo.getBankContractNo())){
checkWord.add("资方合同编号不能为空");
}
if (StringUtils.isBlank(excelInfo.getPeriod())){
checkWord.add("期数不能为空");
}
if (StringUtils.isBlank(excelInfo.getBePrincipal())){
checkWord.add("逾期本金不能为空");
}
if (StringUtils.isBlank(excelInfo.getBeDefInter())){
checkWord.add("逾期罚息不能为空");
}
if (StringUtils.isBlank(excelInfo.getBankCollectionAcc())){
checkWord.add("资方收款账户不能为空");
}
if (StringUtils.isBlank(excelInfo.getBankCollectionNum())){
checkWord.add("资方收款账号不能为空");
}
int i = loanRepaymentScheduleService.selectByBankContractNo(excelInfo.getBankContractNo());
if (i == 0){
checkWord.add("资方合同号" + excelInfo.getBankContractNo() + "在还款计划表中不存在");
}
}
}
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());
importReturn.setCheckInfo(sbcheck1.toString());
importReturn.setInfos(new ArrayList<>());
return importReturn;
}
importReturn.setInfos(importVoList);
StringBuffer sbcheck2 = new StringBuffer();
if (!checkWord2.isEmpty()) {
for (String s : checkWord2) {
if (StringUtils.isBlank(s)) {
continue;
}
sbcheck2.append(s).append(",");
}
}
if (sbcheck2.length() > 0) {
sbcheck2.delete(sbcheck2.length() - 1, sbcheck2.length());
importReturn.setCheckInfo2("已存在" + sbcheck2.toString() + "的记录,是否继续导入");
return importReturn;
}
return importReturn;
}
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;
}
} }

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java

@ -12,6 +12,7 @@ import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.ScanRepaymentVo;
import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation; import com.yxt.anrui.riskcenter.api.loanwarrantinformation.LoanWarrantInformation;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
@ -30,4 +31,7 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper<LoanRepaymentSch
IPage<AppRepaymentPlanVo> getRepaymentPlanList(IPage<LoanRepaymentSchedule> page, @Param(Constants.WRAPPER) QueryWrapper<LoanWarrantInformation> qw); IPage<AppRepaymentPlanVo> getRepaymentPlanList(IPage<LoanRepaymentSchedule> page, @Param(Constants.WRAPPER) QueryWrapper<LoanWarrantInformation> qw);
List<ScanRepaymentVo> scanRepayment(); List<ScanRepaymentVo> scanRepayment();
@Select("SELECT COUNT(*) FROM loan_repayment_schedule WHERE bankContractNo = #{bankContractNo}")
int selectByBankContractNo(String bankContractNo);
} }

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

@ -2035,4 +2035,8 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
} }
return rb.success(); return rb.success();
} }
public int selectByBankContractNo(String bankContractNo) {
return baseMapper.selectByBankContractNo(bankContractNo);
}
} }

153
工作内容需要的文档/单据模板/金融报价单打印模板/jrbjd.docx

@ -0,0 +1,153 @@
金融业务报价单
销售部门:
${saleDeptName!}
销售专员:
${staffName!}
贷款合同编号:
${loanContractNo!}
客户信息
贷款人名称
${loanBorrName!}
车架号
${vinNo!}
电话
${mobile!}
地址
${address!}
挂靠公司
${affiliatedCompany!}
车型及价格
车型
${modelName!}
数量
1
挂车1车型
${gcOneModel!}
采购单位
${gcOnePurUnit!}
挂车2车型
${gcTwoModel!}
采购单位
${gcTwoPurUnit!}
上装1名称
${szOneName!}
采购单位
${szOnePurUnit!}
上装2名称
${szTwoName!}
采购单位
${szTwoPurUnit!}
备注
${remarks!}
金融方案
是否打包
${isPack!}
产品政策
${policyName!}
融资项目
${financProject!}
融资项目总额
${loanTotal!}
首付比例
${sfbl!}
首付金额
${sfje!}
产品贷款金额
${cpdkje!}
产品期数
${cpqs!}
贷款保证金比例
${dkbzjbl!}
贷款保证金
${dkbzj!}
厂家贴息
${cjtx!}
贴息用途
${txyt!}
年利率(%)
${nll!}
月还金额
${yhje!}
利息总额
${lxze!}
贴息抵车款
${txdck!}
其他融
其它融名称
${otherPolicyName!}
贷款金额
${qtrdkje!}
期数
${qtrqs!}
年利率(%)
${qtrnll!}
月还金额
${qtryhje!}
其他融贴息
${qtrtx!}
利息总额
${otherPolicyInterest!}
方案汇总
融资首付
${loanDownPay!}
实际首付比例
${downPayAmountsRatio!}
总贷款金额
${loanAmountTotal!}
期数
${period!}
月还金额
${monthlyRepay!}
利息总额
${interest!}
预计首期还款日
${returnTime!}
应收明细
融资首付
${downPayAmounts!}
贷款保证金
${bondAmounts!}
保险保证金
${depositPremium!}
落户保证金
${depositSettle!}
服务费
${serviceAmount!}
代收意外险
${proxyAccidentPremium!}
上牌费
${registerAmount!}
运管费
${operationAmount!}
补车价
${vehOtherPrice!}
其它费用
${otherAmount!}
其它费用说明
${otherAmountRemark!}
办理方式选择
${dealWay!}
代收费用合计
${proxyTotal!}
代收首年保险费
${proxyPremium!}
代收购置税
${proxyPurchasetax!}
应收合计
${receivableTotal!}
抵顶费用合计
${offsetTotal!}
抵顶首年保险费
${offsetPremium!}
抵顶购置税
${offsetPurchasetax!}
实收合计
${realTotal!}
车辆总价
${vehTotalPrice!}
名义(留购)价
${nominalPrice!}
注:结清时需交纳此费用

14432
工作内容需要的文档/单据模板/金融报价单打印模板/jrbjd.ftl

File diff suppressed because it is too large
Loading…
Cancel
Save