|
|
@ -1,8 +1,12 @@ |
|
|
|
package com.yxt.anrui.riskcenter.biz.loancaseprogress; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.common.enums.BillTypeEnum; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.base.common.utils.domain.BillNo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderborrower.BusSalesOrderBorrowerDetailsVo; |
|
|
@ -14,13 +18,18 @@ import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; |
|
|
|
import com.yxt.anrui.portal.api.sysuser.SysUserFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogress.LoanCaseProgress; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogress.PushCaseDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogress.PushCaseVehDto; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogress.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogressfees.LoanCaseProgressFees; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogressguarantor.LoanCaseProgressGuarantor; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogresspreserve.LoanCaseProgressPreserve; |
|
|
|
import com.yxt.anrui.riskcenter.api.loancaseprogressveh.LoanCaseProgressVeh; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseprogressfees.LoanCaseProgressFeesService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseprogressguarantor.LoanCaseProgressGuarantorService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseprogresspreserve.LoanCaseProgressPreserveService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loancaseprogressveh.LoanCaseProgressVehService; |
|
|
|
import com.yxt.common.base.config.component.FileUploadComponent; |
|
|
|
import com.yxt.common.base.service.MybatisBaseService; |
|
|
|
import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
@ -32,7 +41,10 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.util.List; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
@ -57,12 +69,43 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress |
|
|
|
private LoanCaseProgressVehService loanCaseProgressVehService; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderFeign busSalesOrderFeign; |
|
|
|
@Autowired |
|
|
|
private LoanCaseProgressFeesService loanCaseProgressFeesService; |
|
|
|
@Autowired |
|
|
|
private LoanCaseProgressGuarantorService loanCaseProgressGuarantorService; |
|
|
|
@Autowired |
|
|
|
private LoanCaseProgressPreserveService loanCaseProgressPreserveService; |
|
|
|
@Autowired |
|
|
|
private FileUploadComponent fileUploadComponent; |
|
|
|
|
|
|
|
/** |
|
|
|
* 生成交车资料确认单单据编号 |
|
|
|
* |
|
|
|
* @param orgSid |
|
|
|
* @return |
|
|
|
*/ |
|
|
|
public String getApplyCode(String orgSid) { |
|
|
|
//获取分公司sid
|
|
|
|
ResultBean<SysOrganizationVo> resultBean1 = sysOrganizationFeign.fetchBySid(orgSid); |
|
|
|
String orgCode = resultBean1.getData().getOrgCode(); |
|
|
|
BillNo b = new BillNo(); |
|
|
|
b.setOrgCode(orgCode); |
|
|
|
b.setBillType(BillTypeEnum.AJBH.getBillType()); |
|
|
|
String bill = Rule.getBill(b); |
|
|
|
int i = baseMapper.selectNum(bill); |
|
|
|
String billNo = Rule.getBillNo(bill, i); |
|
|
|
return billNo; |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean pushCase(PushCaseDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
LoanCaseProgress entity = new LoanCaseProgress(); |
|
|
|
BeanUtil.copyProperties(dto, entity, "id", "sid"); |
|
|
|
String applyCode = getApplyCode(dto.getUseOrgSid()); |
|
|
|
if (StringUtils.isNotBlank(applyCode)) { |
|
|
|
entity.setCaseNo(applyCode); |
|
|
|
} |
|
|
|
String province = ""; |
|
|
|
String city = ""; |
|
|
|
String county = ""; |
|
|
@ -137,17 +180,17 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
|
|
|
|
// public PagerVo<LoanParameterVo> listPage(PagerQuery<LoanParameterQuery> pq) {
|
|
|
|
// IPage<LoanParameter> page = PagerUtil.queryToPage(pq);
|
|
|
|
// LoanParameterQuery pagerQuery = pq.getParams();
|
|
|
|
// QueryWrapper<LoanParameter> qw = new QueryWrapper<>();
|
|
|
|
// //=======================
|
|
|
|
// PrivilegeQuery privilegeQuery = new PrivilegeQuery();
|
|
|
|
// privilegeQuery.setOrgPath(pagerQuery.getOrgPath());
|
|
|
|
// privilegeQuery.setMenuSid(pagerQuery.getMenuSid());
|
|
|
|
// privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl());
|
|
|
|
// privilegeQuery.setUserSid(pagerQuery.getUserSid());
|
|
|
|
// ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
|
|
|
|
public PagerVo<LoanCaseProgressVo> listPage(PagerQuery<LoanCaseProgressQuery> pq) { |
|
|
|
IPage<LoanCaseProgress> page = PagerUtil.queryToPage(pq); |
|
|
|
LoanCaseProgressQuery pagerQuery = pq.getParams(); |
|
|
|
QueryWrapper<LoanCaseProgress> qw = new QueryWrapper<>(); |
|
|
|
//=======================
|
|
|
|
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); |
|
|
|
privilegeQuery.setOrgPath(pagerQuery.getOrgPath()); |
|
|
|
privilegeQuery.setMenuSid(pagerQuery.getMenuSid()); |
|
|
|
privilegeQuery.setMenuUrl(pagerQuery.getMenuUrl()); |
|
|
|
privilegeQuery.setUserSid(pagerQuery.getUserSid()); |
|
|
|
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); |
|
|
|
// if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
|
|
|
|
// //数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
|
|
|
|
// String orgSidPath = pagerQuery.getOrgPath();
|
|
|
@ -159,41 +202,305 @@ public class LoanCaseProgressService extends MybatisBaseService<LoanCaseProgress |
|
|
|
// String orgLevelKey = defaultIdReltBean.getData();
|
|
|
|
// if ("1".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, i1);
|
|
|
|
// qw.like("orgSidPath", orgSidPath);
|
|
|
|
// qw.like("p.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("2".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, i2);
|
|
|
|
// qw.like("orgSidPath", orgSidPath);
|
|
|
|
// qw.like("p.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("3".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, i3);
|
|
|
|
// qw.like("orgSidPath", orgSidPath);
|
|
|
|
// qw.like("p.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("4".equals(orgLevelKey)) {
|
|
|
|
// orgSidPath = orgSidPath.substring(0, i4);
|
|
|
|
// qw.like("orgSidPath", orgSidPath);
|
|
|
|
// qw.like("p.orgSidPath", orgSidPath);
|
|
|
|
// } else if ("5".equals(orgLevelKey)) {
|
|
|
|
// qw.eq("createBySid", pagerQuery.getUserSid());
|
|
|
|
// qw.eq("p.createBySid", pagerQuery.getUserSid());
|
|
|
|
// } else {
|
|
|
|
// PagerVo<LoanParameterVo> p = new PagerVo<>();
|
|
|
|
// PagerVo<LoanCaseProgressVo> p = new PagerVo<>();
|
|
|
|
// return p;
|
|
|
|
// }
|
|
|
|
// } else {
|
|
|
|
// PagerVo<LoanParameterVo> p = new PagerVo<>();
|
|
|
|
// PagerVo<LoanCaseProgressVo> p = new PagerVo<>();
|
|
|
|
// return p;
|
|
|
|
// }
|
|
|
|
// //=======================
|
|
|
|
// //参数编码
|
|
|
|
// if (StringUtils.isNotBlank(pagerQuery.getParameterNo())) {
|
|
|
|
// qw.like("parameterNo", pagerQuery.getParameterNo());
|
|
|
|
// }
|
|
|
|
// //参数名称
|
|
|
|
// if (StringUtils.isNotBlank(pagerQuery.getParameterName())) {
|
|
|
|
// qw.like("parameterName", pagerQuery.getParameterName());
|
|
|
|
// }
|
|
|
|
// qw.eq("isDelete", 0);
|
|
|
|
// qw.orderByDesc("createTime");
|
|
|
|
// IPage<LoanParameterVo> pagging = baseMapper.listPage(page, qw);
|
|
|
|
// PagerVo<LoanParameterVo> p = PagerUtil.pageToVo(pagging, null);
|
|
|
|
// return p;
|
|
|
|
// }
|
|
|
|
//=======================
|
|
|
|
//分公司
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getUseOrgName())) { |
|
|
|
qw.like("p.useOrgName", pagerQuery.getUseOrgName()); |
|
|
|
} |
|
|
|
//申请部门
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCreateDept())) { |
|
|
|
qw.like("p.createDept", pagerQuery.getCreateDept()); |
|
|
|
} |
|
|
|
//申请人
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCreateByName())) { |
|
|
|
qw.like("p.createByName", pagerQuery.getCreateByName()); |
|
|
|
} |
|
|
|
String applyStartTime = pagerQuery.getCreateStartTime(); |
|
|
|
String applyEndTime = pagerQuery.getCreateEndTime(); |
|
|
|
qw.apply(StringUtils.isNotEmpty(applyStartTime), "date_format (p.createTime,'%Y-%m-%d') >= date_format('" + applyStartTime + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotEmpty(applyEndTime), "date_format (p.createTime,'%Y-%m-%d') <= date_format('" + applyEndTime + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
//公司负责人
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCompanyHead())) { |
|
|
|
qw.like("p.companyHead", pagerQuery.getCompanyHead()); |
|
|
|
} |
|
|
|
//案件类型
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCaseType())) { |
|
|
|
qw.like("p.caseType", pagerQuery.getCaseType()); |
|
|
|
} |
|
|
|
//案件编号
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCaseNo())) { |
|
|
|
qw.like("p.caseNo", pagerQuery.getCaseNo()); |
|
|
|
} |
|
|
|
//诉讼主体
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getLawsuitSubject())) { |
|
|
|
qw.like("p.lawsuitSubject", pagerQuery.getLawsuitSubject()); |
|
|
|
} |
|
|
|
//消贷合同号
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getLoanContractNo())) { |
|
|
|
qw.like("p.loanContractNo", pagerQuery.getLoanContractNo()); |
|
|
|
} |
|
|
|
//资方
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getBankName())) { |
|
|
|
qw.like("p.bankName", pagerQuery.getBankName()); |
|
|
|
} |
|
|
|
//客户名称
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCustomerName())) { |
|
|
|
qw.like("p.customerName", pagerQuery.getCustomerName()); |
|
|
|
} |
|
|
|
//贷款人
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getLoanName())) { |
|
|
|
qw.like("p.loanName", pagerQuery.getLoanName()); |
|
|
|
} |
|
|
|
//案件当前阶段
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCaseStage())) { |
|
|
|
qw.like("p.caseStage", pagerQuery.getCaseStage()); |
|
|
|
} |
|
|
|
//案件当前环节
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getCaseTache())) { |
|
|
|
qw.like("p.caseTache", pagerQuery.getCaseTache()); |
|
|
|
} |
|
|
|
//律师事务所
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getLawFirms())) { |
|
|
|
qw.like("b.lawyerFirm", pagerQuery.getLawFirms()); |
|
|
|
} |
|
|
|
//承办律师
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getLawer())) { |
|
|
|
qw.like("b.lawyerName", pagerQuery.getLawer()); |
|
|
|
} |
|
|
|
//是否全额诉讼
|
|
|
|
if (StringUtils.isNotBlank(pagerQuery.getFull())) { |
|
|
|
qw.like("p.`full`", pagerQuery.getFull()); |
|
|
|
} |
|
|
|
qw.eq("p.isDelete", 0); |
|
|
|
qw.orderByDesc("p.createTime"); |
|
|
|
qw.groupBy("p.sid"); |
|
|
|
IPage<LoanCaseProgressVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
PagerVo<LoanCaseProgressVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public ResultBean<LoanCaseProgressDetailsVo> getDetails(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
LoanCaseProgressDetailsVo vo = new LoanCaseProgressDetailsVo(); |
|
|
|
List<DetailsVeh> detailsVehs = new ArrayList<>(); //车辆信息
|
|
|
|
List<DetailsFees> fees = new ArrayList(); //相关费用
|
|
|
|
List<DetailsGuarantor> guarantor = new ArrayList(); //担保人
|
|
|
|
List<DetailsPreserve> preserve = new ArrayList(); //保全
|
|
|
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
LoanCaseProgress entity = fetchBySid(sid); |
|
|
|
if (null != entity) { |
|
|
|
BeanUtil.copyProperties(entity, vo); |
|
|
|
vo.setCreateDate(DateUtil.formatDate(entity.getCreateTime())); |
|
|
|
List<LoanCaseProgressVeh> vehs = loanCaseProgressVehService.selByMainSid(sid); |
|
|
|
List<LoanCaseProgressFees> caseProgressFees = loanCaseProgressFeesService.selByMainSid(sid); |
|
|
|
List<LoanCaseProgressGuarantor> caseProgressGuarantors = loanCaseProgressGuarantorService.selByMainSid(sid); |
|
|
|
List<LoanCaseProgressPreserve> caseProgressPreserves = loanCaseProgressPreserveService.selByMainSid(sid); |
|
|
|
if (StringUtils.isBlank(entity.getSueAging())) { |
|
|
|
//诉讼时效
|
|
|
|
String secondSale = ""; //是否存在二次销售
|
|
|
|
List<Date> dateList = new ArrayList<>();//日期列表
|
|
|
|
if (!vehs.isEmpty()) { |
|
|
|
for (LoanCaseProgressVeh veh : vehs) { |
|
|
|
LoanReturnVehLedger loanReturnVehLedger = baseMapper.fetchLedgerByBusVinSid(veh.getBusVinSid()); |
|
|
|
if (null != loanReturnVehLedger) { |
|
|
|
if (loanReturnVehLedger.getDisposal().equals("二次销售")) { |
|
|
|
secondSale = "是"; |
|
|
|
if (null != loanReturnVehLedger.getOutboundDate()) { |
|
|
|
dateList.add(loanReturnVehLedger.getOutboundDate()); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (secondSale.equals("是") && !dateList.isEmpty()) { |
|
|
|
Date date = dateList.stream().max(Date::compareTo).orElse(null); |
|
|
|
Calendar calendar = Calendar.getInstance(); |
|
|
|
calendar.setTime(date); |
|
|
|
calendar.add(Calendar.YEAR, 3); |
|
|
|
Date time = calendar.getTime(); |
|
|
|
vo.setSueAging(DateUtil.formatDate(time)); |
|
|
|
} else { |
|
|
|
String salesOrderSid = entity.getSalesOrderSid(); |
|
|
|
String maxDate = baseMapper.selMaxDueDateByOrderSid(salesOrderSid); |
|
|
|
if (StringUtils.isNotBlank(maxDate)) { |
|
|
|
try { |
|
|
|
Date date = sdf.parse(maxDate); |
|
|
|
Calendar calendar = Calendar.getInstance(); |
|
|
|
calendar.setTime(date); |
|
|
|
calendar.add(Calendar.YEAR, 3); |
|
|
|
Date time = calendar.getTime(); |
|
|
|
vo.setSueAging(DateUtil.formatDate(time)); |
|
|
|
} catch (ParseException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
if (!vehs.isEmpty()) { |
|
|
|
vehs.stream().forEach(v -> { |
|
|
|
DetailsVeh detailsVeh = new DetailsVeh(); |
|
|
|
BeanUtil.copyProperties(v, detailsVeh); |
|
|
|
detailsVehs.add(detailsVeh); |
|
|
|
}); |
|
|
|
} |
|
|
|
if (!caseProgressFees.isEmpty()) { |
|
|
|
caseProgressFees.stream().forEach(v -> { |
|
|
|
DetailsFees detailsFees = new DetailsFees(); |
|
|
|
BeanUtil.copyProperties(v, detailsFees); |
|
|
|
String filesss = v.getFilePath(); |
|
|
|
List<UrlQuery> lists = new ArrayList<>(); |
|
|
|
if (StringUtils.isNotBlank(filesss)) { |
|
|
|
List<String> fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); |
|
|
|
for (int i = 0; i < fileList.size(); i++) { |
|
|
|
UrlQuery urlQuery = new UrlQuery(); |
|
|
|
urlQuery.setUrl(fileList.get(i)); |
|
|
|
lists.add(urlQuery); |
|
|
|
} |
|
|
|
detailsFees.setFeesfile(lists); |
|
|
|
} |
|
|
|
if (null != v.getOperatingTime()) { |
|
|
|
detailsFees.setOperatingTime(sdf.format(v.getOperatingTime())); |
|
|
|
} |
|
|
|
if (null != v.getPaymentTime()) { |
|
|
|
detailsFees.setPaymentTime(sdf.format(v.getPaymentTime())); |
|
|
|
} |
|
|
|
fees.add(detailsFees); |
|
|
|
}); |
|
|
|
} |
|
|
|
if (!caseProgressGuarantors.isEmpty()) { |
|
|
|
caseProgressGuarantors.stream().forEach(v -> { |
|
|
|
DetailsGuarantor detailsGuarantor = new DetailsGuarantor(); |
|
|
|
BeanUtil.copyProperties(v, detailsGuarantor); |
|
|
|
guarantor.add(detailsGuarantor); |
|
|
|
}); |
|
|
|
} |
|
|
|
if (!caseProgressPreserves.isEmpty()) { |
|
|
|
caseProgressPreserves.stream().forEach(v -> { |
|
|
|
DetailsPreserve detailsPreserve = new DetailsPreserve(); |
|
|
|
BeanUtil.copyProperties(v, detailsPreserve); |
|
|
|
String filesss = v.getFilePath(); |
|
|
|
List<UrlQuery> lists = new ArrayList<>(); |
|
|
|
if (StringUtils.isNotBlank(filesss)) { |
|
|
|
List<String> fileList = Arrays.asList(filesss.split(",")).stream().map(c -> fileUploadComponent.getUrlPrefix() + c).collect(Collectors.toList()); |
|
|
|
for (int i = 0; i < fileList.size(); i++) { |
|
|
|
UrlQuery urlQuery = new UrlQuery(); |
|
|
|
urlQuery.setUrl(fileList.get(i)); |
|
|
|
lists.add(urlQuery); |
|
|
|
} |
|
|
|
detailsPreserve.setPreservefile(lists); |
|
|
|
} |
|
|
|
if (null != v.getOperatingTime()) { |
|
|
|
detailsPreserve.setOperatingTime(sdf.format(v.getOperatingTime())); |
|
|
|
} |
|
|
|
if (null != v.getPreserveTime()) { |
|
|
|
detailsPreserve.setPreserveTime(sdf.format(v.getPreserveTime())); |
|
|
|
} |
|
|
|
preserve.add(detailsPreserve); |
|
|
|
}); |
|
|
|
} |
|
|
|
vo.setVeh(detailsVehs); |
|
|
|
vo.setFees(fees); |
|
|
|
vo.setGuarantor(guarantor); |
|
|
|
vo.setPreserve(preserve); |
|
|
|
} |
|
|
|
return rb.success().setData(vo); |
|
|
|
} |
|
|
|
|
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public ResultBean saveProgress(LoanCaseProgressDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
String urlPrefix = fileUploadComponent.getUrlPrefix(); |
|
|
|
System.out.println(urlPrefix); |
|
|
|
LoanCaseProgress progress = fetchBySid(sid); |
|
|
|
if (null != progress) { |
|
|
|
BeanUtil.copyProperties(dto, progress); |
|
|
|
baseMapper.updateById(progress); |
|
|
|
List<DetailsVeh> veh = dto.getVeh(); //车辆信息
|
|
|
|
List<DetailsFees> fees = dto.getFees(); //相关费用
|
|
|
|
List<DetailsGuarantor> guarantor = dto.getGuarantor(); //担保人
|
|
|
|
List<DetailsPreserve> preserve = dto.getPreserve(); //保全
|
|
|
|
if (!veh.isEmpty()) { |
|
|
|
for (DetailsVeh detailsVeh : veh) { |
|
|
|
LoanCaseProgressVeh vin = loanCaseProgressVehService.selByMainSidAndBusVinSid(sid, detailsVeh.getBusVinSid()); |
|
|
|
if (null != vin) { |
|
|
|
BeanUtil.copyProperties(detailsVeh, vin); |
|
|
|
loanCaseProgressVehService.updateById(vin); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
int i1 = loanCaseProgressFeesService.delByMainSid(sid); |
|
|
|
int i2 = loanCaseProgressGuarantorService.delByMainSid(sid); |
|
|
|
int i3 = loanCaseProgressPreserveService.delByMainSid(sid); |
|
|
|
if (!fees.isEmpty()) { |
|
|
|
for (DetailsFees detailsFees : fees) { |
|
|
|
LoanCaseProgressFees newFees = new LoanCaseProgressFees(); |
|
|
|
BeanUtil.copyProperties(detailsFees, newFees, "id", "sid"); |
|
|
|
newFees.setMainSid(sid); |
|
|
|
//保存附件
|
|
|
|
List<UrlQuery> filss = detailsFees.getFeesfile(); |
|
|
|
filss.removeAll(Collections.singleton(null)); |
|
|
|
if (!filss.isEmpty()) { |
|
|
|
List<String> filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList()); |
|
|
|
filesList.removeAll(Collections.singleton(null)); |
|
|
|
if (!filesList.isEmpty()) { |
|
|
|
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
newFees.setFilePath(files); |
|
|
|
} |
|
|
|
} |
|
|
|
loanCaseProgressFeesService.insert(newFees); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!guarantor.isEmpty()) { |
|
|
|
for (DetailsGuarantor detailsGuarantor : guarantor) { |
|
|
|
LoanCaseProgressGuarantor entity = new LoanCaseProgressGuarantor(); |
|
|
|
BeanUtil.copyProperties(detailsGuarantor, entity, "id", "sid"); |
|
|
|
entity.setMainSid(sid); |
|
|
|
loanCaseProgressGuarantorService.insert(entity); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!preserve.isEmpty()) { |
|
|
|
for (DetailsPreserve detailsPreserve : preserve) { |
|
|
|
LoanCaseProgressPreserve entity = new LoanCaseProgressPreserve(); |
|
|
|
BeanUtil.copyProperties(detailsPreserve, entity, "id", "sid"); |
|
|
|
entity.setMainSid(sid); |
|
|
|
//保存附件
|
|
|
|
List<UrlQuery> filss = detailsPreserve.getPreservefile(); |
|
|
|
filss.removeAll(Collections.singleton(null)); |
|
|
|
if (!filss.isEmpty()) { |
|
|
|
List<String> filesList = filss.stream().map(v -> v.getUrl()).collect(Collectors.toList()); |
|
|
|
filesList.removeAll(Collections.singleton(null)); |
|
|
|
if (!filesList.isEmpty()) { |
|
|
|
String files = String.join(",", filesList).replaceAll(fileUploadComponent.getUrlPrefix(), ""); |
|
|
|
entity.setFilePath(files); |
|
|
|
} |
|
|
|
} |
|
|
|
loanCaseProgressPreserveService.insert(entity); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |
|
|
|