|
|
@ -22,12 +22,8 @@ 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.portal.api.sysuser.SysUserVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanreturnvehledger.LoanReturnVehLedger; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApply; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyQuery; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesapply.LoanSecondarySalesApplyVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansecondarysalesveh.LoanSecondarySalesVehVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansettleapply.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansettleapply.flowable.*; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansettlebankcost.LoanSettleBankCost; |
|
|
@ -43,6 +39,7 @@ import com.yxt.anrui.riskcenter.biz.loansettlecompanycost.LoanSettleCompanyCostS |
|
|
|
import com.yxt.anrui.riskcenter.biz.loansettlecompanyreduction.LoanSettleCompanyReductionService; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loansolutions.LoanSolutionsMapper; |
|
|
|
import com.yxt.anrui.riskcenter.biz.loansolutionsdetail.LoanSolutionsDetailService; |
|
|
|
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; |
|
|
@ -57,6 +54,8 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.text.ParseException; |
|
|
|
import java.text.SimpleDateFormat; |
|
|
|
import java.util.*; |
|
|
|
import java.util.concurrent.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
@ -93,6 +92,9 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
private LoanSolutionsMapper loanSolutionsMapper; |
|
|
|
@Autowired |
|
|
|
private LoanSolutionsDetailService loanSolutionsDetailService; |
|
|
|
@Autowired |
|
|
|
private FileUploadComponent fileUploadComponent; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private SysParameterFeign sysParameterFeign; |
|
|
|
|
|
|
@ -100,6 +102,59 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
LoanSettleApplyQuery query = pq.getParams(); |
|
|
|
QueryWrapper<LoanSettleApply> qw = new QueryWrapper<>(); |
|
|
|
if (query != null) { |
|
|
|
//分公司
|
|
|
|
if (StringUtils.isNotBlank(query.getUseOrgName())) { |
|
|
|
qw.like("la.useOrgName", query.getUseOrgName()); |
|
|
|
} |
|
|
|
//申请部门
|
|
|
|
if (StringUtils.isNotBlank(query.getCreateDept())) { |
|
|
|
qw.like("la.createDept", query.getCreateDept()); |
|
|
|
} |
|
|
|
//申请人
|
|
|
|
if (StringUtils.isNotBlank(query.getCreateByName())) { |
|
|
|
qw.like("la.createByName", query.getCreateByName()); |
|
|
|
} |
|
|
|
//办结日期
|
|
|
|
qw.apply(StringUtils.isNotBlank(query.getCloseDateStart()), "date_format (la.closeDate,'%Y-%m-%d') >= date_format('" + query.getCloseDateStart() + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(query.getCloseDateEnd()), "date_format (la.closeDate,'%Y-%m-%d') <= date_format('" + query.getCloseDateEnd() + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
//申请日期
|
|
|
|
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (la.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (la.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
//贷款合同编号
|
|
|
|
if (StringUtils.isNotBlank(query.getLoanContractNo())) { |
|
|
|
qw.like("la.loanContractNo", query.getLoanContractNo()); |
|
|
|
} |
|
|
|
//贷款人
|
|
|
|
if (StringUtils.isNotBlank(query.getLoanName())) { |
|
|
|
qw.like("la.loanName", query.getLoanName()); |
|
|
|
} |
|
|
|
//资方
|
|
|
|
if (StringUtils.isNotBlank(query.getBankName())) { |
|
|
|
qw.like("la.bankName", query.getBankName()); |
|
|
|
} |
|
|
|
//资方合同编号
|
|
|
|
if (StringUtils.isNotBlank(query.getBankContractNo())) { |
|
|
|
qw.like("la.bankContractNo", query.getBankContractNo()); |
|
|
|
} |
|
|
|
//客户名称
|
|
|
|
if (StringUtils.isNotBlank(query.getCustomerName())) { |
|
|
|
qw.like("la.customerName", query.getCustomerName()); |
|
|
|
} |
|
|
|
//车架号
|
|
|
|
if (StringUtils.isNotBlank(query.getVinNo())) { |
|
|
|
qw.like("la.vinNo", query.getVinNo()); |
|
|
|
} |
|
|
|
//车牌号
|
|
|
|
if (StringUtils.isNotBlank(query.getVehMark())) { |
|
|
|
qw.like("la.vehMark", query.getVehMark()); |
|
|
|
} |
|
|
|
//结清日期
|
|
|
|
qw.apply(StringUtils.isNotBlank(query.getSettingDateStart()), "date_format (la.settingDate,'%Y-%m-%d') >= date_format('" + query.getSettingDateStart() + "','%Y-%m-%d')"). |
|
|
|
apply(StringUtils.isNotBlank(query.getSettingDateEnd()), "date_format (la.settingDate,'%Y-%m-%d') <= date_format('" + query.getSettingDateEnd() + "','%Y-%m-%d')" |
|
|
|
); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(query.getMenuUrl())) { |
|
|
|
//=======================
|
|
|
|
PrivilegeQuery privilegeQuery = new PrivilegeQuery(); |
|
|
@ -161,9 +216,48 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(sid)) {//新增
|
|
|
|
|
|
|
|
LoanSettleApply loanSettleApply = new LoanSettleApply(); |
|
|
|
BeanUtil.copyProperties(dto, loanSettleApply, "sid"); |
|
|
|
sid = loanSettleApply.getSid(); |
|
|
|
loanSettleApply.setCreateBySid(dto.getSid()); |
|
|
|
loanSettleApply.setOrgSidPath(dto.getOrgPath()); |
|
|
|
LoanSettleBankCostVo loanSettleBankCostVo = dto.getLoanSettleBankCostVo(); |
|
|
|
if (loanSettleBankCostVo != null) { |
|
|
|
loanSettleBankCostService.saveCost(sid, loanSettleBankCostVo); |
|
|
|
} |
|
|
|
LoanSettleCompanyCostVo loanSettleCompanyCostVo = dto.getLoanSettleCompanyCostVo(); |
|
|
|
if (loanSettleCompanyCostVo != null) { |
|
|
|
loanSettleCompanyCostService.saveCost(sid, loanSettleCompanyCostVo); |
|
|
|
} |
|
|
|
LoanSettleCompanyReductionVo loanSettleCompanyReductionVo = dto.getLoanSettleCompanyReductionVo(); |
|
|
|
if (loanSettleCompanyReductionVo != null) { |
|
|
|
loanSettleCompanyReductionService.saveReduction(sid, loanSettleCompanyReductionVo); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(dto.getBusSid())) { |
|
|
|
loanSettleApply.setTypeState("02"); |
|
|
|
loanSettleApply.setTypeStateValue("提前结清"); |
|
|
|
} else { |
|
|
|
loanSettleApply.setTypeState("01"); |
|
|
|
loanSettleApply.setTypeStateValue("正常结清"); |
|
|
|
} |
|
|
|
} else {//修改
|
|
|
|
|
|
|
|
LoanSettleApply loanSettleApply = fetchBySid(sid); |
|
|
|
if (loanSettleApply == null) { |
|
|
|
return rb.setMsg("该申请不存在"); |
|
|
|
} |
|
|
|
BeanUtil.copyProperties(dto, loanSettleApply, "sid"); |
|
|
|
LoanSettleBankCostVo loanSettleBankCostVo = dto.getLoanSettleBankCostVo(); |
|
|
|
if (loanSettleBankCostVo != null) { |
|
|
|
loanSettleBankCostService.saveCost(sid, loanSettleBankCostVo); |
|
|
|
} |
|
|
|
LoanSettleCompanyCostVo loanSettleCompanyCostVo = dto.getLoanSettleCompanyCostVo(); |
|
|
|
if (loanSettleCompanyCostVo != null) { |
|
|
|
loanSettleCompanyCostService.saveCost(sid, loanSettleCompanyCostVo); |
|
|
|
} |
|
|
|
LoanSettleCompanyReductionVo loanSettleCompanyReductionVo = dto.getLoanSettleCompanyReductionVo(); |
|
|
|
if (loanSettleCompanyReductionVo != null) { |
|
|
|
loanSettleCompanyReductionService.saveReduction(sid, loanSettleCompanyReductionVo); |
|
|
|
} |
|
|
|
} |
|
|
|
return rb.success().setData(sid); |
|
|
|
} |
|
|
@ -229,7 +323,19 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
LoanSettleBankCost loanSettleBankCost = loanSettleBankCostService.selectByMainSid(sid); |
|
|
|
if (loanSettleBankCost != null) { |
|
|
|
BeanUtil.copyProperties(loanSettleBankCost, loanSettleBankCostVo); |
|
|
|
String filesss = loanSettleBankCost.getFiles(); |
|
|
|
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); |
|
|
|
} |
|
|
|
loanSettleBankCostVo.setFilesList(lists); |
|
|
|
} |
|
|
|
loanSettleApplyDetailsVo.setLoanSettleBankCostVo(loanSettleBankCostVo); |
|
|
|
|
|
|
|
} |
|
|
|
LoanSettleCompanyCostVo loanSettleCompanyCostVo = new LoanSettleCompanyCostVo(); |
|
|
|
LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(sid); |
|
|
@ -272,6 +378,20 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
settleApplyCommonVo.setPutBankInterest(putBankInterest); |
|
|
|
//资金占用费
|
|
|
|
String funfCost = baseMapper.selectZjzyf(busVinSid, settingDate); |
|
|
|
String dk = baseMapper.selectDk(busVinSid, settingDate); |
|
|
|
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); |
|
|
|
try { |
|
|
|
Date d1 = format.parse(settingDate);//毫秒ms
|
|
|
|
Date d2 = format.parse(DateUtil.today());//毫秒ms
|
|
|
|
long diff = d2.getTime() - d1.getTime(); |
|
|
|
long diffDays = diff / (24 * 60 * 60 * 1000); |
|
|
|
int i = new Long(diffDays).intValue(); |
|
|
|
String dks = new BigDecimal(dk).multiply(new BigDecimal(0.0007)).multiply(new BigDecimal(i)).toString(); |
|
|
|
funfCost = new BigDecimal(funfCost).add(new BigDecimal(dks)).toString(); |
|
|
|
} catch (ParseException e) { |
|
|
|
e.printStackTrace(); |
|
|
|
} |
|
|
|
|
|
|
|
settleApplyCommonVo.setFunfCost(funfCost); |
|
|
|
//公司当前逾期月还
|
|
|
|
String overdueMonthPrice = baseMapper.selectGsYqYh(busVinSid, settingDate); |
|
|
@ -462,7 +582,10 @@ public class LoanSettleApplyService extends MybatisBaseService<LoanSettleApplyMa |
|
|
|
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { |
|
|
|
loanSettleApply = fetchBySid(businessSid); |
|
|
|
loanSettleApply.setCloseDate(DateUtil.today()); |
|
|
|
loanSettleApply.setSettingDate(DateUtil.today()); |
|
|
|
baseMapper.updateById(loanSettleApply); |
|
|
|
//更新车辆表结清状态
|
|
|
|
baseMapper.updateBus(loanSettleApply.getBusVinSid()); |
|
|
|
} else { |
|
|
|
//极光推送
|
|
|
|
loanSettleApply = fetchBySid(businessSid); |
|
|
|