Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 1 year ago
parent
commit
d37179e694
  1. 3
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereapply/LoanBePadsincereApplyFeign.java
  2. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVeh.java
  3. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java
  4. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDto.java
  5. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehQuery.java
  6. 6
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehVo.java
  7. 19
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleDetailsVo.java
  8. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyRest.java
  9. 639
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanbepadsincereapply/LoanBePadsincereApplyService.java
  10. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java
  11. 18
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml
  12. 3
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java
  13. 9
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.java
  14. 12
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleMapper.xml
  15. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentschedule/LoanRepaymentScheduleService.java
  16. 4
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

3
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.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo; 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;
@ -84,5 +85,5 @@ public interface LoanBePadsincereApplyFeign {
@ApiOperation(value = "导入") @ApiOperation(value = "导入")
@PostMapping("/getExcelInfo") @PostMapping("/getExcelInfo")
@ResponseBody @ResponseBody
public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException, ParseException; public ResultBean<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) throws IOException, ParseException;
} }

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVeh.java

@ -64,12 +64,6 @@ public class LoanBePadsincereVeh extends BaseEntity {
private String borrowerName; // 贷款人名称 private String borrowerName; // 贷款人名称
@ApiModelProperty("期数") @ApiModelProperty("期数")
private String period; // 期数 private String period; // 期数
@ApiModelProperty("应还日期")
private String payableDate; // 应还日期
@ApiModelProperty("应还金额")
private String payableMoney; // 应还金额
@ApiModelProperty("已还金额")
private String yhMoney; // 已还金额
@ApiModelProperty("系统逾期金额") @ApiModelProperty("系统逾期金额")
private String sysBeMoney; // 系统逾期金额 private String sysBeMoney; // 系统逾期金额
@ApiModelProperty("资方逾期金额") @ApiModelProperty("资方逾期金额")

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDetailsVo.java

@ -65,12 +65,6 @@ public class LoanBePadsincereVehDetailsVo implements Vo {
private String borrowerName; // 贷款人名称 private String borrowerName; // 贷款人名称
@ApiModelProperty("期数") @ApiModelProperty("期数")
private String period; // 期数 private String period; // 期数
@ApiModelProperty("应还日期")
private String payableDate; // 应还日期
@ApiModelProperty("应还金额")
private String payableMoney; // 应还金额
@ApiModelProperty("已还金额")
private String yhMoney; // 已还金额
@ApiModelProperty("系统逾期金额") @ApiModelProperty("系统逾期金额")
private String sysBeMoney; // 系统逾期金额 private String sysBeMoney; // 系统逾期金额
@ApiModelProperty("资方逾期金额") @ApiModelProperty("资方逾期金额")

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehDto.java

@ -65,12 +65,6 @@ public class LoanBePadsincereVehDto implements Dto {
private String borrowerName; // 贷款人名称 private String borrowerName; // 贷款人名称
@ApiModelProperty("期数") @ApiModelProperty("期数")
private String period; // 期数 private String period; // 期数
@ApiModelProperty("应还日期")
private String payableDate; // 应还日期
@ApiModelProperty("应还金额")
private String payableMoney; // 应还金额
@ApiModelProperty("已还金额")
private String yhMoney; // 已还金额
@ApiModelProperty("系统逾期金额") @ApiModelProperty("系统逾期金额")
private String sysBeMoney; // 系统逾期金额 private String sysBeMoney; // 系统逾期金额
@ApiModelProperty("资方逾期金额") @ApiModelProperty("资方逾期金额")

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehQuery.java

@ -63,12 +63,6 @@ public class LoanBePadsincereVehQuery implements Query {
private String borrowerName; // 贷款人名称 private String borrowerName; // 贷款人名称
@ApiModelProperty("期数") @ApiModelProperty("期数")
private String period; // 期数 private String period; // 期数
@ApiModelProperty("应还日期")
private String payableDate; // 应还日期
@ApiModelProperty("应还金额")
private String payableMoney; // 应还金额
@ApiModelProperty("已还金额")
private String yhMoney; // 已还金额
@ApiModelProperty("系统逾期金额") @ApiModelProperty("系统逾期金额")
private String sysBeMoney; // 系统逾期金额 private String sysBeMoney; // 系统逾期金额
@ApiModelProperty("资方逾期金额") @ApiModelProperty("资方逾期金额")

6
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanbepadsincereveh/LoanBePadsincereVehVo.java

@ -65,12 +65,6 @@ public class LoanBePadsincereVehVo implements Vo {
private String borrowerName; // 贷款人名称 private String borrowerName; // 贷款人名称
@ApiModelProperty("期数") @ApiModelProperty("期数")
private String period; // 期数 private String period; // 期数
@ApiModelProperty("应还日期")
private String payableDate; // 应还日期
@ApiModelProperty("应还金额")
private String payableMoney; // 应还金额
@ApiModelProperty("已还金额")
private String yhMoney; // 已还金额
@ApiModelProperty("系统逾期金额") @ApiModelProperty("系统逾期金额")
private String sysBeMoney; // 系统逾期金额 private String sysBeMoney; // 系统逾期金额
@ApiModelProperty("资方逾期金额") @ApiModelProperty("资方逾期金额")

19
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loanrepaymentschedule/LoanRepaymentScheduleDetailsVo.java

@ -0,0 +1,19 @@
package com.yxt.anrui.riskcenter.api.loanrepaymentschedule;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class LoanRepaymentScheduleDetailsVo {
@ApiModelProperty("车架号")
private String vinNo;
@ApiModelProperty("消贷合同编号")
private String loanContractNo;
@ApiModelProperty("资方名称")
private String bankName;
@ApiModelProperty("借款人名称")
private String borrowerName;
@ApiModelProperty("销售订单sid")
private String salesOrderSid;
}

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

@ -29,6 +29,7 @@ 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.loanbepadsincereapply.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh; import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVeh;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo; 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;
@ -115,7 +116,7 @@ public class LoanBePadsincereApplyRest implements LoanBePadsincereApplyFeign {
} }
@Override @Override
public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException { public ResultBean<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException {
return loanBePadsincereApplyService.getExcelInfo(file, request); return loanBePadsincereApplyService.getExcelInfo(file, request);
} }
} }

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

@ -28,10 +28,16 @@ package com.yxt.anrui.riskcenter.biz.loanbepadsincereapply;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 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.buscenter.api.bussalesorder.BusSalesOrder;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
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.loanbepadsincereapply.*; import com.yxt.anrui.riskcenter.api.loanbepadsincereapply.*;
import com.yxt.anrui.riskcenter.api.loanbepadsincereveh.LoanBePadsincereVehDetailsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo; import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.RepaymentExcelInfo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanCreateScheduleVinsVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo;
import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService;
import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService; 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;
@ -78,318 +84,343 @@ import java.util.regex.Pattern;
@Service @Service
public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsincereApplyMapper, LoanBePadsincereApply> { public class LoanBePadsincereApplyService extends MybatisBaseService<LoanBePadsincereApplyMapper, LoanBePadsincereApply> {
@Autowired @Autowired
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService; private BusSalesOrderFeign busSalesOrderFeign;
@Autowired
private LoanRepaymentScheduleService loanRepaymentScheduleService;
@Autowired
private LoanRepaymentPlanDetailsService loanRepaymentPlanDetailsService;
public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) { public PagerVo<LoanBePadsincereApplyVo> listPageVo(PagerQuery<LoanBePadsincereApplyQuery> pq) {
LoanBePadsincereApplyQuery query = pq.getParams(); LoanBePadsincereApplyQuery query = pq.getParams();
QueryWrapper<LoanBePadsincereApply> qw = new QueryWrapper<>(); QueryWrapper<LoanBePadsincereApply> qw = new QueryWrapper<>();
//========================================数据授权开始 //========================================数据授权开始
if (StringUtils.isNotBlank(query.getMenuUrl())) { if (StringUtils.isNotBlank(query.getMenuUrl())) {
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath()); privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setMenuUrl(query.getMenuUrl()); privilegeQuery.setMenuUrl(query.getMenuUrl());
privilegeQuery.setMenuSid(query.getMenuSid()); privilegeQuery.setMenuSid(query.getMenuSid());
privilegeQuery.setUserSid(query.getUserSid()); privilegeQuery.setUserSid(query.getUserSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人) //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath(); String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/"; orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/"); int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1); int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1); int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1); int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData(); String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) { if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1); orgSidPath = orgSidPath.substring(0, i1);
qw.like("orgPath", orgSidPath); qw.like("orgPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) { } else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2); orgSidPath = orgSidPath.substring(0, i2);
qw.like("orgPath", orgSidPath); qw.like("orgPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) { } else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3); orgSidPath = orgSidPath.substring(0, i3);
qw.like("orgPath", orgSidPath); qw.like("orgPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) { } else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4); orgSidPath = orgSidPath.substring(0, i4);
qw.like("orgPath", orgSidPath); qw.like("orgPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) { } else if ("5".equals(orgLevelKey)) {
qw.eq("createBySid", query.getUserSid()); qw.eq("createBySid", query.getUserSid());
} else { } else {
PagerVo<LoanBePadsincereApplyVo> p = new PagerVo<>(); PagerVo<LoanBePadsincereApplyVo> p = new PagerVo<>();
return p; return p;
} }
} else { } else {
PagerVo<LoanBePadsincereApplyVo> p = new PagerVo<>(); PagerVo<LoanBePadsincereApplyVo> p = new PagerVo<>();
return p; return p;
} }
} }
if (StringUtils.isNotBlank(query.getUseOrgName())){ if (StringUtils.isNotBlank(query.getUseOrgName())) {
qw.like("useOrgName",query.getUseOrgName()); qw.like("useOrgName", query.getUseOrgName());
} }
if (StringUtils.isNotBlank(query.getCreateByName())){ if (StringUtils.isNotBlank(query.getCreateByName())) {
qw.like("createByName",query.getCreateByName()); qw.like("createByName", query.getCreateByName());
} }
if (StringUtils.isNotBlank(query.getBillNo())){ if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("billNo",query.getBillNo()); qw.like("billNo", query.getBillNo());
} }
qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')"). qw.apply(StringUtils.isNotBlank(query.getCreateStartTime()), "date_format (createTime,'%Y-%m-%d') >= date_format('" + query.getCreateStartTime() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')" apply(StringUtils.isNotBlank(query.getCreateEndTime()), "date_format (createTime,'%Y-%m-%d') <= date_format('" + query.getCreateEndTime() + "','%Y-%m-%d')"
); );
IPage<LoanBePadsincereApply> page = PagerUtil.queryToPage(pq); IPage<LoanBePadsincereApply> page = PagerUtil.queryToPage(pq);
IPage<LoanBePadsincereApplyVo> pagging = baseMapper.selectPageVo(page, qw); IPage<LoanBePadsincereApplyVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<LoanBePadsincereApplyVo> p = PagerUtil.pageToVo(pagging, null); PagerVo<LoanBePadsincereApplyVo> p = PagerUtil.pageToVo(pagging, null);
return p; return p;
} }
public void saveOrUpdateDto(LoanBePadsincereApplyDto dto){ public void saveOrUpdateDto(LoanBePadsincereApplyDto dto) {
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto); this.insertByDto(dto);
return; return;
} }
this.updateByDto(dto); this.updateByDto(dto);
} }
public void insertByDto(LoanBePadsincereApplyDto dto){ public void insertByDto(LoanBePadsincereApplyDto dto) {
LoanBePadsincereApply entity = new LoanBePadsincereApply(); LoanBePadsincereApply entity = new LoanBePadsincereApply();
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity); baseMapper.insert(entity);
} }
public void updateByDto(LoanBePadsincereApplyDto dto){ public void updateByDto(LoanBePadsincereApplyDto dto) {
String dtoSid = dto.getSid(); String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) { if (StringUtils.isBlank(dtoSid)) {
return; return;
} }
LoanBePadsincereApply entity = fetchBySid(dtoSid); LoanBePadsincereApply entity = fetchBySid(dtoSid);
BeanUtil.copyProperties(dto, entity, "id", "sid"); BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
public LoanBePadsincereApplyDetailsVo fetchDetailsVoBySid(String sid){ public LoanBePadsincereApplyDetailsVo fetchDetailsVoBySid(String sid) {
LoanBePadsincereApply entity = fetchBySid(sid); LoanBePadsincereApply entity = fetchBySid(sid);
LoanBePadsincereApplyDetailsVo vo = new LoanBePadsincereApplyDetailsVo(); LoanBePadsincereApplyDetailsVo vo = new LoanBePadsincereApplyDetailsVo();
BeanUtil.copyProperties(entity, vo); BeanUtil.copyProperties(entity, vo);
return vo; return vo;
} }
public ResultBean<List<BePadsincereExcelInfo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException { public ResultBean<List<LoanBePadsincereVehDetailsVo>> getExcelInfo(MultipartFile file, HttpServletRequest request) throws IOException {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录 String temp = request.getSession().getServletContext().getRealPath(File.separator) + "temp";// 临时目录
File tempFile = new File(temp); File tempFile = new File(temp);
if (!tempFile.exists()) { if (!tempFile.exists()) {
tempFile.mkdirs(); tempFile.mkdirs();
} }
String fileName = file.getOriginalFilename(); String fileName = file.getOriginalFilename();
if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) {
return rb.fail().setMsg("上传文件不正确"); return rb.fail().setMsg("上传文件不正确");
} }
int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7}; int[] resultCell = new int[]{0, 1, 2, 3, 4, 5, 6, 7};
List<BePadsincereExcelInfo> resultList = new ArrayList<>(); List<BePadsincereExcelInfo> resultList = new ArrayList<>();
boolean isExcel2003 = true; List<LoanBePadsincereVehDetailsVo> resultList2 = new ArrayList<>();
if (fileName.matches("^.+\\.(?i)(xlsx)$")) { boolean isExcel2003 = true;
isExcel2003 = false; if (fileName.matches("^.+\\.(?i)(xlsx)$")) {
} isExcel2003 = false;
InputStream is = file.getInputStream(); }
Workbook wb = null; InputStream is = file.getInputStream();
if (isExcel2003) { Workbook wb = null;
wb = new HSSFWorkbook(is); if (isExcel2003) {
} else { wb = new HSSFWorkbook(is);
wb = new XSSFWorkbook(is); } else {
} wb = new XSSFWorkbook(is);
Sheet sheet = wb.getSheetAt(0); }
ReturnExcelInfo importReturn = getSheetVal(sheet, resultCell); Sheet sheet = wb.getSheetAt(0);
resultList = importReturn.getInfos(); ReturnExcelInfo importReturn = getSheetVal(sheet, resultCell);
System.out.println("结果是--->" + resultList); resultList = importReturn.getInfos();
importReturn.setInfos(resultList); for (BePadsincereExcelInfo bePadsincereExcelInfo : resultList) {
if (!resultList.isEmpty()) { List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanRepaymentScheduleService.selectByBankContractNo(bePadsincereExcelInfo.getBankContractNo());
if (StringUtils.isNotBlank(importReturn.getCheckInfo2())) { for (LoanRepaymentScheduleDetailsVo loanRepaymentScheduleDetailsVo : loanRepaymentScheduleDetailsVos) {
return rb.success().setData(resultList).setMsg(importReturn.getCheckInfo2()); String vinNo = loanRepaymentScheduleDetailsVo.getVinNo();
} else { String[] vinNos = vinNo.split(",");
return rb.success().setData(resultList).setMsg("成功导入数据,请点击确定按钮"); for (String no : vinNos) {
} LoanBePadsincereVehDetailsVo loanBePadsincereVehDetailsVo = new LoanBePadsincereVehDetailsVo();
} else { loanBePadsincereVehDetailsVo.setVinNo(no);
String checkResult = importReturn.getCheckInfo(); loanBePadsincereVehDetailsVo.setLoanContractNo(loanRepaymentScheduleDetailsVo.getLoanContractNo());
return rb.success().setData(resultList).setMsg(checkResult); loanBePadsincereVehDetailsVo.setBankName(loanRepaymentScheduleDetailsVo.getBankName());
} loanBePadsincereVehDetailsVo.setBankContractNo(bePadsincereExcelInfo.getBankContractNo());
} BusSalesOrder busSalesOrder = busSalesOrderFeign.fetchBySid(loanRepaymentScheduleDetailsVo.getSalesOrderSid()).getData();
loanBePadsincereVehDetailsVo.setCustomerName(busSalesOrder.getCustomerName());
loanBePadsincereVehDetailsVo.setBorrowerName(loanRepaymentScheduleDetailsVo.getBorrowerName());
loanBePadsincereVehDetailsVo.setPeriod(bePadsincereExcelInfo.getPeriod());
String sysBeMoney = loanRepaymentPlanDetailsService.selBeMoney(no, bePadsincereExcelInfo.getPeriod(), bePadsincereExcelInfo.getBankContractNo());
loanBePadsincereVehDetailsVo.setSysBeMoney(sysBeMoney);
loanBePadsincereVehDetailsVo.setBankBeMoney(bePadsincereExcelInfo.getBePrincipal());
loanBePadsincereVehDetailsVo.setBankBeInter(bePadsincereExcelInfo.getBeDefInter());
loanBePadsincereVehDetailsVo.setPaymentAccount(bePadsincereExcelInfo.getPaymentAccount());
loanBePadsincereVehDetailsVo.setPaymentNum(bePadsincereExcelInfo.getPaymentNum());
loanBePadsincereVehDetailsVo.setBankCollectionAcc(bePadsincereExcelInfo.getBankCollectionAcc());
loanBePadsincereVehDetailsVo.setBankCollectionNum(bePadsincereExcelInfo.getBankCollectionNum());
resultList2.add(loanBePadsincereVehDetailsVo);
}
}
}
if (StringUtils.isNotBlank(importReturn.getCheckInfo2())) {
return rb.success().setData(resultList2).setMsg(importReturn.getCheckInfo2());
} else {
return rb.success().setData(resultList2).setMsg("成功导入数据,请点击确定按钮");
}
}
private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell) { private ReturnExcelInfo getSheetVal(Sheet sheet, int[] resultCell) {
ReturnExcelInfo importReturn = new ReturnExcelInfo(); ReturnExcelInfo importReturn = new ReturnExcelInfo();
List<BePadsincereExcelInfo> importVoList = new ArrayList<>(); List<BePadsincereExcelInfo> importVoList = new ArrayList<>();
int[] resultIndex = new int[resultCell.length]; int[] resultIndex = new int[resultCell.length];
Set<String> checkWord = new HashSet<>(); Set<String> checkWord = new HashSet<>();
Set<String> checkWord2 = new HashSet<>(); Set<String> checkWord2 = new HashSet<>();
for (int r = 1; r <= sheet.getLastRowNum(); r++) { for (int r = 1; r <= sheet.getLastRowNum(); r++) {
Row row = sheet.getRow(r); Row row = sheet.getRow(r);
if (row == null) { if (row == null) {
continue; continue;
} }
BePadsincereExcelInfo importVo = new BePadsincereExcelInfo(); BePadsincereExcelInfo importVo = new BePadsincereExcelInfo();
for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) { for (int i = 0; i < row.getPhysicalNumberOfCells(); i++) {
String trim = new String(); String trim = new String();
try { try {
trim = getCellVal(row.getCell(i)).toString().trim(); trim = getCellVal(row.getCell(i)).toString().trim();
if (StringUtils.isBlank(trim)) { if (StringUtils.isBlank(trim)) {
NullPointerException nullPointerException = new NullPointerException(); NullPointerException nullPointerException = new NullPointerException();
} }
String temp = getCellVal(row.getCell(i)).toString().trim(); String temp = getCellVal(row.getCell(i)).toString().trim();
for (int j = 0; j < resultCell.length; j++) { for (int j = 0; j < resultCell.length; j++) {
if (i == resultCell[j]) { if (i == resultCell[j]) {
switch (i) { switch (i) {
case 0: case 0:
importVo.setBankContractNo(temp); importVo.setBankContractNo(temp);
break; break;
case 1: case 1:
importVo.setPeriod(temp); importVo.setPeriod(temp);
break; break;
case 2: case 2:
importVo.setBePrincipal(temp); importVo.setBePrincipal(temp);
break; break;
case 3: case 3:
importVo.setBeDefInter(temp); importVo.setBeDefInter(temp);
break; break;
case 4: case 4:
importVo.setPaymentAccount(temp); importVo.setPaymentAccount(temp);
break; break;
case 5: case 5:
importVo.setPaymentNum(temp); importVo.setPaymentNum(temp);
break; break;
case 6: case 6:
importVo.setBankCollectionAcc(temp); importVo.setBankCollectionAcc(temp);
break; break;
case 7: case 7:
importVo.setBankCollectionNum(temp); importVo.setBankCollectionNum(temp);
break; break;
default: default:
break; break;
} }
} else { } else {
continue; continue;
} }
} }
} catch (Exception e) { } catch (Exception e) {
if (StringUtils.isBlank(trim)) { if (StringUtils.isBlank(trim)) {
String word = new String(); String word = new String();
switch (i) { switch (i) {
case 0: case 0:
word = "资方合同编号"; word = "资方合同编号";
break; break;
case 1: case 1:
word = "期数"; word = "期数";
break; break;
case 2: case 2:
word = "逾期本金"; word = "逾期本金";
break; break;
case 3: case 3:
word = "逾期罚息"; word = "逾期罚息";
break; break;
case 4: case 4:
word = "付款账户"; word = "付款账户";
break; break;
case 5: case 5:
word = "付款账号"; word = "付款账号";
break; break;
case 6: case 6:
word = "资方收款账户"; word = "资方收款账户";
break; break;
case 7: case 7:
word = "资方收款账号"; word = "资方收款账号";
break; break;
default: default:
break; break;
} }
continue; continue;
} }
} }
} }
importVoList.add(importVo); importVoList.add(importVo);
} }
StringBuffer sbBankCNo = new StringBuffer(); StringBuffer sbBankCNo = new StringBuffer();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
if (!importVoList.isEmpty()) { if (!importVoList.isEmpty()) {
for (BePadsincereExcelInfo excelInfo : importVoList) { for (BePadsincereExcelInfo excelInfo : importVoList) {
if (StringUtils.isBlank(excelInfo.getBankContractNo())){ if (StringUtils.isBlank(excelInfo.getBankContractNo())) {
checkWord.add("资方合同编号不能为空"); checkWord.add("资方合同编号不能为空");
} }
if (StringUtils.isBlank(excelInfo.getPeriod())){ if (StringUtils.isBlank(excelInfo.getPeriod())) {
checkWord.add("期数不能为空"); checkWord.add("期数不能为空");
} }
if (StringUtils.isBlank(excelInfo.getBePrincipal())){ if (StringUtils.isBlank(excelInfo.getBePrincipal())) {
checkWord.add("逾期本金不能为空"); checkWord.add("逾期本金不能为空");
} }
if (StringUtils.isBlank(excelInfo.getBeDefInter())){ if (StringUtils.isBlank(excelInfo.getBeDefInter())) {
checkWord.add("逾期罚息不能为空"); checkWord.add("逾期罚息不能为空");
} }
if (StringUtils.isBlank(excelInfo.getBankCollectionAcc())){ if (StringUtils.isBlank(excelInfo.getBankCollectionAcc())) {
checkWord.add("资方收款账户不能为空"); checkWord.add("资方收款账户不能为空");
} }
if (StringUtils.isBlank(excelInfo.getBankCollectionNum())){ if (StringUtils.isBlank(excelInfo.getBankCollectionNum())) {
checkWord.add("资方收款账号不能为空"); checkWord.add("资方收款账号不能为空");
} }
int i = loanRepaymentScheduleService.selectByBankContractNo(excelInfo.getBankContractNo()); List<LoanRepaymentScheduleDetailsVo> loanRepaymentScheduleDetailsVos = loanRepaymentScheduleService.selectByBankContractNo(excelInfo.getBankContractNo());
if (i == 0){ if (loanRepaymentScheduleDetailsVos == null || loanRepaymentScheduleDetailsVos.size() == 0) {
checkWord.add("资方合同号" + excelInfo.getBankContractNo() + "在还款计划表中不存在"); checkWord.add("资方合同号" + excelInfo.getBankContractNo() + "在还款计划表中不存在");
} }
} }
} }
StringBuffer sbcheck1 = new StringBuffer(); StringBuffer sbcheck1 = new StringBuffer();
if (!checkWord.isEmpty()) { if (!checkWord.isEmpty()) {
for (String s : checkWord) { for (String s : checkWord) {
if (StringUtils.isBlank(s)) { if (StringUtils.isBlank(s)) {
continue; continue;
} }
sbcheck1.append(s).append(";"); sbcheck1.append(s).append(";");
} }
} }
if (sbcheck1.length() > 0) { if (sbcheck1.length() > 0) {
sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length()); sbcheck1.delete(sbcheck1.length() - 1, sbcheck1.length());
importReturn.setCheckInfo(sbcheck1.toString()); importReturn.setCheckInfo(sbcheck1.toString());
importReturn.setInfos(new ArrayList<>()); importReturn.setInfos(new ArrayList<>());
return importReturn; return importReturn;
} }
importReturn.setInfos(importVoList); importReturn.setInfos(importVoList);
StringBuffer sbcheck2 = new StringBuffer(); StringBuffer sbcheck2 = new StringBuffer();
if (!checkWord2.isEmpty()) { if (!checkWord2.isEmpty()) {
for (String s : checkWord2) { for (String s : checkWord2) {
if (StringUtils.isBlank(s)) { if (StringUtils.isBlank(s)) {
continue; continue;
} }
sbcheck2.append(s).append(","); sbcheck2.append(s).append(",");
} }
} }
if (sbcheck2.length() > 0) { if (sbcheck2.length() > 0) {
sbcheck2.delete(sbcheck2.length() - 1, sbcheck2.length()); sbcheck2.delete(sbcheck2.length() - 1, sbcheck2.length());
importReturn.setCheckInfo2("已存在" + sbcheck2.toString() + "的记录,是否继续导入"); importReturn.setCheckInfo2("已存在" + sbcheck2.toString() + "的记录,是否继续导入");
return importReturn; return importReturn;
} }
return importReturn; return importReturn;
} }
public Object getCellVal(Cell cell) { public Object getCellVal(Cell cell) {
Object obj = null; Object obj = null;
if (cell != null) { if (cell != null) {
switch (cell.getCellTypeEnum()) { switch (cell.getCellTypeEnum()) {
case BOOLEAN: case BOOLEAN:
obj = cell.getBooleanCellValue(); obj = cell.getBooleanCellValue();
break; break;
case ERROR: case ERROR:
obj = cell.getErrorCellValue(); obj = cell.getErrorCellValue();
break; break;
case NUMERIC: case NUMERIC:
obj = cell.getNumericCellValue(); obj = cell.getNumericCellValue();
break; break;
case STRING: case STRING:
obj = cell.getStringCellValue(); obj = cell.getStringCellValue();
break; break;
default: default:
break; break;
} }
} }
return obj; return obj;
} }
} }

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.java

@ -27,4 +27,6 @@ public interface LoanRepaymentPlanDetailsMapper extends BaseMapper<LoanRepayment
int deletePlanDetails(String scheduleSid); int deletePlanDetails(String scheduleSid);
List<LoanRepaymentPlanDetails> selPlanByNoAndPeriod(@Param("bankContractNo") String bankContractNo, @Param("period") String period); List<LoanRepaymentPlanDetails> selPlanByNoAndPeriod(@Param("bankContractNo") String bankContractNo, @Param("period") String period);
String selBeMoney(@Param("no") String no,@Param("period") String period,@Param("bankContractNo") String bankContractNo);
} }

18
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsMapper.xml

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsMapper"> <mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsMapper">
<delete id="deletePlanDetails"> <delete id="deletePlanDetails">
DELETE DELETE
FROM loan_repayment_plan_details FROM loan_repayment_plan_details
@ -14,6 +12,20 @@
from loan_repayment_plan_details from loan_repayment_plan_details
where bankContractNo = #{bankContractNo} where bankContractNo = #{bankContractNo}
and `period` = #{period} and `period` = #{period}
-- and policyOrOther = '0' -- and policyOrOther = '0'
</select>
<select id="selBeMoney" resultType="java.lang.String">
SELECT (
lrpd.`dueMoney` - SUM(IFNULL(lrh.actualMoney, 0))
) AS yq_total
FROM `loan_repayment_plan_details` lrpd
LEFT JOIN `loan_repayment_history` lrh
ON lrh.planDetailSid = lrpd.`sid`
WHERE lrpd.vinNo = #{no}
AND lrpd.period = #{period}
AND lrpd.loanContractNo = #{loanContractNo}
GROUP BY lrpd.`sid`
HAVING (yq_total > 0)
</select> </select>
</mapper> </mapper>

3
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java

@ -89,4 +89,7 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService<LoanRepa
return baseMapper.selPlanByNoAndPeriod(bankContractNo,period); return baseMapper.selPlanByNoAndPeriod(bankContractNo,period);
} }
public String selBeMoney(String no, String period, String bankContractNo) {
return baseMapper.selBeMoney(no,period,bankContractNo);
}
} }

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

@ -4,11 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameter; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.*;
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.AppRepaymentPlanVo;
import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule;
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;
@ -32,6 +28,5 @@ public interface LoanRepaymentScheduleMapper extends BaseMapper<LoanRepaymentSch
List<ScanRepaymentVo> scanRepayment(); List<ScanRepaymentVo> scanRepayment();
@Select("SELECT COUNT(*) FROM loan_repayment_schedule WHERE bankContractNo = #{bankContractNo}") List<LoanRepaymentScheduleDetailsVo> selectByBankContractNo(String bankContractNo);
int selectByBankContractNo(String bankContractNo);
} }

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

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleMapper"> <mapper namespace="com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleMapper">
<select id="selectByContractSid" <select id="selectByContractSid"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule"> resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule">
select * select *
@ -39,4 +38,15 @@
WHERE curdate() &lt;= mainLastDate WHERE curdate() &lt;= mainLastDate
and isDelete = 0 and isDelete = 0
</select> </select>
<select id="selectByBankContractNo"
resultType="com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentScheduleDetailsVo">
SELECT loanContractNo,
vinNo,
bankName,
borrowerName,
salesOrderSid
FROM loan_repayment_schedule
WHERE bankContractNo = #{bankContractNo}
</select>
</mapper> </mapper>

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

@ -2036,7 +2036,7 @@ public class LoanRepaymentScheduleService extends MybatisBaseService<LoanRepayme
return rb.success(); return rb.success();
} }
public int selectByBankContractNo(String bankContractNo) { public List<LoanRepaymentScheduleDetailsVo> selectByBankContractNo(String bankContractNo) {
return baseMapper.selectByBankContractNo(bankContractNo); return baseMapper.selectByBankContractNo(bankContractNo);
} }
} }

4
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/autoservice/invoiced/InvoicedService.java

@ -255,8 +255,10 @@ public class InvoicedService {
vinListVo.setZcHgzImages(finBillVehicle.getCertificatePhoto()); vinListVo.setZcHgzImages(finBillVehicle.getCertificatePhoto());
if (StringUtils.isNotBlank(finBillVehicle.getXSState())){ if (StringUtils.isNotBlank(finBillVehicle.getXSState())){
vinListVo.setXSState(finBillVehicle.getXSState()); vinListVo.setXSState(finBillVehicle.getXSState());
vo.setShowXsState(true); }else {
vinListVo.setXSState("-");
} }
vo.setShowXsState(true);
vinListVos.add(vinListVo); vinListVos.add(vinListVo);
} }
vo.setVinList(vinListVos); vo.setVinList(vinListVos);

Loading…
Cancel
Save