diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java index e3b4e4402a..a9d5b2d6a5 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleState.java @@ -38,6 +38,8 @@ public class BaseVehicleState extends BaseEntity { private String contractState; private String saleTypeKey; private String finSourceKey; + @ApiModelProperty("销售订单sid") + private String saleOrderSid; } diff --git a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java index 8dc5163630..cca40af320 100644 --- a/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java +++ b/anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehiclestate/BaseVehicleStateDto.java @@ -25,4 +25,6 @@ public class BaseVehicleStateDto implements Dto { private String saleTypeKey; @ApiModelProperty("款项来源:1自有资金、2三方金融、3担保、4非担保") private String finSourceKey; + @ApiModelProperty("销售订单sid") + private String saleOrderSid; } diff --git a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java index b59cc1dd92..1f8875c68f 100644 --- a/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java +++ b/anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/SolutionsDetailsssVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.buscenter.api.bussalesorder; +import com.fasterxml.jackson.annotation.JsonProperty; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -10,8 +11,8 @@ import lombok.Data; */ @Data public class SolutionsDetailsssVo { - - + @JsonProperty("isShowMore") + private boolean isShowMore; @ApiModelProperty("销售订单sid") private String salesOrderSid; @@ -74,11 +75,13 @@ public class SolutionsDetailsssVo { private boolean vehDamageFloatCb; @ApiModelProperty("是否勾选其它融") private boolean otherPolicyState; + private String discountCar; //其他融 @ApiModelProperty("其它融名称") private String otherPolicyName; + private String otherPolicySid; @ApiModelProperty("其它融金额") private String otherPolicyAmount; @ApiModelProperty("其它融期数") @@ -132,6 +135,8 @@ public class SolutionsDetailsssVo { private String dealWay; @ApiModelProperty("办理方式选择key") private String dealWayKey; + @ApiModelProperty("代收合计") + private String proxyTotal; @ApiModelProperty("代收首年保险费") private String proxyPremium; @ApiModelProperty("代收购置费") diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java index d7e12b3d9f..87e67feee3 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java @@ -4311,7 +4311,7 @@ public class BusSalesOrderService extends MybatisBaseService resultBean = loanSolutionsFeign.selectDetails2(sid); if (resultBean.getData() != null) { List financeForms = resultBean.getData().getFinanceForms(); - if(!financeForms.isEmpty()){ + if (!financeForms.isEmpty()) { List voList = Optional.ofNullable(financeForms).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OrderSolutionVo.class)).collect(Collectors.toList()); appOrderDetailsVo.setFinanceForms(voList); } @@ -4855,6 +4855,7 @@ public class BusSalesOrderService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailsss(bv.getBusinessSid()); @@ -5245,6 +5246,26 @@ public class BusSalesOrderService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailsss(bv.getBusinessSid()); + SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); + if (solutionsDetailsVo != null) { + createFinTwo(vo, busSalesOrder, solutionsDetailsVo); + } + } else { + if ("2".equals(busSalesOrder.getFinancePlan())) { + ResultBean solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailsss(bv.getBusinessSid()); + SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); + if (solutionsDetailsVo != null) { + //外部金融 + createFin(vo, busSalesOrder, solutionsDetailsVo); + } + } else { + //推送车款 + createCarFin(vo, busSalesOrder); + } + } //==============================修改车辆的持久状态组装数据 try { @@ -5265,6 +5286,7 @@ public class BusSalesOrderService extends MybatisBaseService vinList = appOrderModelInfoVo.getVinListsVos(); for (int i = 0; i < vinList.size(); i++) { UnCollectionDto unCollectionDto = new UnCollectionDto(); diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java index 8d9b3371fe..1184693bed 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java @@ -368,7 +368,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService 0) { return rb.setMsg("应收未收中的订金不允许多收,请检查"); } @@ -430,21 +430,21 @@ public class FinCollectionConfirmationService extends MybatisBaseService sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); - if(sysOrganizationVoResultBean.getData() != null){ + if (sysOrganizationVoResultBean.getData() != null) { finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); } - }else{ + } else { //代收款 String orgPath = dto.getOrgPath(); finCollectionConfirmation.setOrgSidPath(orgPath); ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(useOrgSid); - if(sysOrganizationVoResultBean.getData() != null){ + if (sysOrganizationVoResultBean.getData() != null) { finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); } List orgList = Arrays.asList(orgPath.split("/")); - orgList.set(orgList.size()-1,dto.getStaffDeptSid()); - finCollectionConfirmation.setOrgSidPath(String.join("/",orgList)); + orgList.set(orgList.size() - 1, dto.getStaffDeptSid()); + finCollectionConfirmation.setOrgSidPath(String.join("/", orgList)); } sid = finCollectionConfirmation.getSid(); @@ -814,7 +814,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(finCollectionConfirmation.getUseOrgSid()); - if(sysOrganizationVoResultBean.getData() != null){ + if (sysOrganizationVoResultBean.getData() != null) { finCollectionConfirmation.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); } if ("03".equals(dto.getCollectionTypeKey()) || "05".equals(dto.getCollectionTypeKey())) { @@ -1253,13 +1253,13 @@ public class FinCollectionConfirmationService extends MybatisBaseService solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(commonContract.getBusSid()); SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData(); if (solutionsDetailsVo != null) { - if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { + /* if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) { if ("02".equals(solutionsDetailsVo.getTypeKey())) { //外部金融:成交价 = 订金+车款+厂家贴息-服务费 leftAll = leftAll.add(singleFinalPrice); @@ -1951,6 +1951,22 @@ public class FinCollectionConfirmationService extends MybatisBaseService financeForms = new ArrayList<>(); - } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java index aef72c72ea..39713f7399 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loantemplate/TemplateApplyVo.java @@ -1,5 +1,7 @@ package com.yxt.anrui.riskcenter.api.loantemplate; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionListVo; import com.yxt.anrui.riskcenter.api.loantemplateinstall.LoanTemplateInstallVo; import com.yxt.anrui.riskcenter.api.loantemplatetrailer.LoanTemplateTrailerVo; import com.yxt.common.core.vo.Vo; @@ -18,7 +20,11 @@ import java.util.List; @Data public class TemplateApplyVo implements Vo { private static final long serialVersionUID = 6376454518435397557L; + @ApiModelProperty(value = "实例id") + private String procInstId; + @ApiModelProperty(value = "taskId") + private String taskId; private String sid; @ApiModelProperty("用户sid") private String userSid; @@ -54,9 +60,6 @@ public class TemplateApplyVo implements Vo { private LoanTemplateInstallVo loanTemplateInstall; @ApiModelProperty("挂车信息") private LoanTemplateTrailerVo loanTemplateTrailer; - @ApiModelProperty("消贷金融方案") - private LoanTemplateSolutionsVo loanTemplateSolutions; - - private List financeForms = new ArrayList<>(); + private List financeForms = new ArrayList<>(); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java index 2f0aa98fbe..cdbfb4a177 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java @@ -686,249 +686,280 @@ public class LoanSolutionsService extends MybatisBaseService 0) { + return rb.setMsg("抵顶首年保险费不能超过保险费用"); + } + } + } } else { if (StringUtils.isNotBlank(dto.getOffsetPremium())) { - if (new BigDecimal(dto.getOffsetPremium()).compareTo(new BigDecimal(premium)) > 0) { + if (new BigDecimal(dto.getOffsetPremium()).compareTo(BigDecimal.ZERO) > 0) { return rb.setMsg("抵顶首年保险费不能超过保险费用"); } } + } - } else { - if (StringUtils.isNotBlank(dto.getOffsetPremium())) { - if (new BigDecimal(dto.getOffsetPremium()).compareTo(BigDecimal.ZERO) > 0) { - return rb.setMsg("抵顶首年保险费不能超过保险费用"); + //是否勾选购置税 + if (dto.isPurchaseTaxCb()) { + //购置税 + String purchaseTax = dto.getPurchaseTax(); + if (StringUtils.isBlank(purchaseTax)) { + return rb.setMsg("请输入购置税"); + } else { + if (StringUtils.isNotBlank(dto.getOffsetPurchasetax())) { + if (new BigDecimal(dto.getOffsetPurchasetax()).compareTo(new BigDecimal(purchaseTax)) > 0) { + return rb.setMsg("抵顶购置税不能超过购置税"); + } + } } - } - } - //是否勾选购置税 - if (dto.isPurchaseTaxCb()) { - //购置税 - String purchaseTax = dto.getPurchaseTax(); - if (StringUtils.isBlank(purchaseTax)) { - return rb.setMsg("请输入购置税"); } else { if (StringUtils.isNotBlank(dto.getOffsetPurchasetax())) { - if (new BigDecimal(dto.getOffsetPurchasetax()).compareTo(new BigDecimal(purchaseTax)) > 0) { + if (new BigDecimal(dto.getOffsetPurchasetax()).compareTo(BigDecimal.ZERO) > 0) { return rb.setMsg("抵顶购置税不能超过购置税"); } } } - - } else { - if (StringUtils.isNotBlank(dto.getOffsetPurchasetax())) { - if (new BigDecimal(dto.getOffsetPurchasetax()).compareTo(BigDecimal.ZERO) > 0) { - return rb.setMsg("抵顶购置税不能超过购置税"); - } + //产品期数 + String loanPeriod = dto.getLoanPeriod(); + if (StringUtils.isBlank(loanPeriod)) { + return rb.setMsg("主方案期数不能为空"); + } + if (loanSolutions != null) { + baseMapper.deleteByOrderSid(dto.getBusSid()); + loanSolutionsOtherpolicyService.deleteByLoanSid(loanSolutions.getSid()); + loanSolutionsDetailService.deleteByLoanSid(loanSolutions.getSid()); } - } - //产品期数 - String loanPeriod = dto.getLoanPeriod(); - if (StringUtils.isBlank(loanPeriod)) { - return rb.setMsg("主方案期数不能为空"); - } - //查詢是否有金融方案 - LoanSolutions loanSolutions = baseMapper.selectByApplySid(dto.getBusSid()); - if (loanSolutions != null) { - baseMapper.deleteByOrderSid(dto.getBusSid()); - loanSolutionsOtherpolicyService.deleteByLoanSid(loanSolutions.getSid()); - loanSolutionsDetailService.deleteByLoanSid(loanSolutions.getSid()); - } - //保存金融方案 - loanSolutions = new LoanSolutions(); - loanSolutions.setSaleOrderState(1); - if (StringUtils.isNotBlank(dto.getBusSid())) { - loanSolutions.setSalesOrderSid(dto.getBusSid()); - } - BeanUtil.copyProperties(dto, loanSolutions, "sid"); - //主车发票价 - loanSolutions.setMainVehicleAmount(new BigDecimal(mainVehicleAmount)); - //是否勾选融资票据 - loanSolutions.setAccessoriesAmountCb(dto.isAccessoriesAmountCb() ? 1 : 0); - loanSolutions.setAccessoriesAmount(dto.isAccessoriesAmountCb() ? new BigDecimal(dto.getAccessoriesAmount()) : BigDecimal.ZERO); - //是否勾选挂车 - loanSolutions.setTrailerAmountCb(dto.isTrailerAmountCb() ? 1 : 0); - loanSolutions.setTrailerAmount(dto.isTrailerAmountCb() ? new BigDecimal(dto.getTrailerAmount()) : BigDecimal.ZERO); - //是否勾选保险 - loanSolutions.setPremiumCb(dto.isPremiumCb() ? 1 : 0); - if (StringUtils.isNotBlank(dto.getPremium())) { - loanSolutions.setPremium(new BigDecimal(dto.getPremium())); - } + //保存金融方案 + loanSolutions = new LoanSolutions(); + loanSolutions.setSaleOrderState(1); + if (StringUtils.isNotBlank(dto.getBusSid())) { + loanSolutions.setSalesOrderSid(dto.getBusSid()); + } + BeanUtil.copyProperties(dto, loanSolutions, "sid"); + //主车发票价 + loanSolutions.setMainVehicleAmount(new BigDecimal(mainVehicleAmount)); + //是否勾选融资票据 + loanSolutions.setAccessoriesAmountCb(dto.isAccessoriesAmountCb() ? 1 : 0); + loanSolutions.setAccessoriesAmount(dto.isAccessoriesAmountCb() ? new BigDecimal(dto.getAccessoriesAmount()) : BigDecimal.ZERO); + //是否勾选挂车 + loanSolutions.setTrailerAmountCb(dto.isTrailerAmountCb() ? 1 : 0); + loanSolutions.setTrailerAmount(dto.isTrailerAmountCb() ? new BigDecimal(dto.getTrailerAmount()) : BigDecimal.ZERO); + //是否勾选保险 + loanSolutions.setPremiumCb(dto.isPremiumCb() ? 1 : 0); + if (StringUtils.isNotBlank(dto.getPremium())) { + loanSolutions.setPremium(new BigDecimal(dto.getPremium())); + } // loanSolutions.setPremium(StringUtils.isNotBlank(dto.getPremium()) ? new BigDecimal(dto.getPremium()) : BigDecimal.ZERO); - //是否勾选购置税 - loanSolutions.setPurchaseTaxCb(dto.isPurchaseTaxCb() ? 1 : 0); + //是否勾选购置税 + loanSolutions.setPurchaseTaxCb(dto.isPurchaseTaxCb() ? 1 : 0); // loanSolutions.setPurchaseTax(StringUtils.isNotBlank(dto.getPurchaseTax()) ? new BigDecimal(dto.getPurchaseTax()) : BigDecimal.ZERO); - if (StringUtils.isNotBlank(dto.getPurchaseTax())) { - loanSolutions.setPurchaseTax(new BigDecimal(dto.getPurchaseTax())); - } - //项目融资总额 - String loanTotal = dto.getLoanTotal(); - loanSolutions.setLoanTotal(StringUtils.isNotBlank(loanTotal) ? new BigDecimal(loanTotal) : BigDecimal.ZERO); - //首付比例 - String downPayRatio = dto.getDownPayRatio(); - loanSolutions.setDownPayRatio(downPayRatio); - //首付金额 - String downPayAmount = dto.getDownPayAmount(); - loanSolutions.setDownPayAmount(StringUtils.isNotBlank(downPayAmount) ? new BigDecimal(downPayAmount) : BigDecimal.ZERO); - //贷款金额 - String loanAmount = dto.getLoanAmount(); - loanSolutions.setLoanAmount(StringUtils.isNotBlank(loanAmount) ? new BigDecimal(loanAmount) : BigDecimal.ZERO); - //贷款保证金比例 - String bondRatio = dto.getBondRatio(); - loanSolutions.setBondRatio(bondRatio); - //期数 - loanSolutions.setLoanPeriod(loanPeriod); - //保证金金额 - String bondAmount = dto.getBondAmount(); - loanSolutions.setBondAmount(StringUtils.isNotBlank(bondAmount) ? new BigDecimal(bondAmount) : BigDecimal.ZERO); - //厂家贴息 - String factoryDiscount = dto.getFactoryDiscount(); - loanSolutions.setFactoryDiscount(StringUtils.isNotBlank(factoryDiscount) ? new BigDecimal(factoryDiscount) : BigDecimal.ZERO); - String discountCar = dto.getDiscountCar(); - loanSolutions.setDiscountCar(StringUtils.isNotBlank(discountCar) ? new BigDecimal(discountCar) : BigDecimal.ZERO); - //年利率 - String policyYearRatio = dto.getPolicyYearRatio(); - loanSolutions.setPolicyYearRatio(policyYearRatio); - //月还金额 - String loanPayMoney = dto.getLoanPayMoney(); - loanSolutions.setLoanPayMoney(StringUtils.isNotBlank(loanPayMoney) ? new BigDecimal(loanPayMoney) : BigDecimal.ZERO); - //利息总额 - String loanInterest = dto.getLoanInterest(); - loanSolutions.setLoanInterest(StringUtils.isNotBlank(loanInterest) ? new BigDecimal(loanInterest) : BigDecimal.ZERO); - LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = new LoanSolutionsOtherpolicy(); - if (dto.isOtherPolicyState()) { - BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid"); + if (StringUtils.isNotBlank(dto.getPurchaseTax())) { + loanSolutions.setPurchaseTax(new BigDecimal(dto.getPurchaseTax())); + } + //项目融资总额 + String loanTotal = dto.getLoanTotal(); + loanSolutions.setLoanTotal(StringUtils.isNotBlank(loanTotal) ? new BigDecimal(loanTotal) : BigDecimal.ZERO); + //首付比例 + String downPayRatio = dto.getDownPayRatio(); + loanSolutions.setDownPayRatio(downPayRatio); + //首付金额 + String downPayAmount = dto.getDownPayAmount(); + loanSolutions.setDownPayAmount(StringUtils.isNotBlank(downPayAmount) ? new BigDecimal(downPayAmount) : BigDecimal.ZERO); //贷款金额 - String otherPolicyAmount = dto.getOtherPolicyAmount(); - loanSolutionsOtherpolicy.setOtherPolicyAmount(StringUtils.isNotBlank(otherPolicyAmount) ? new BigDecimal(otherPolicyAmount) : BigDecimal.ZERO); - //其它融月还 - String otherPolicyMonthlyRepay = dto.getOtherPolicyMonthlyRepay(); - loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(StringUtils.isNotBlank(otherPolicyMonthlyRepay) ? new BigDecimal(otherPolicyMonthlyRepay) : BigDecimal.ZERO); - //其它融利息总额 - String otherPolicyInterest = dto.getOtherPolicyInterest(); - loanSolutionsOtherpolicy.setOtherPolicyInterest(StringUtils.isNotBlank(otherPolicyInterest) ? new BigDecimal(otherPolicyInterest) : BigDecimal.ZERO); - loanSolutions.setOtherPolicyState(1); - String loanDownPay = dto.getLoanDownPay(); - loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO); - - } else { - BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid"); - String loanDownPay = dto.getLoanDownPay(); - loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO); - loanSolutionsOtherpolicy.setOtherPolicyAmount(BigDecimal.ZERO); - loanSolutionsOtherpolicy.setOtherPolicyInterest(BigDecimal.ZERO); - loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(BigDecimal.ZERO); - loanSolutionsOtherpolicy.setOtherPolicyPeriod(""); - loanSolutionsOtherpolicy.setOtherPolicyYearRatio(""); - loanSolutionsOtherpolicy.setOtherPolicyName(""); - loanSolutions.setOtherPolicyState(0); - } - baseMapper.insert(loanSolutions); - loanSolutionsOtherpolicy.setSolutionsSid(loanSolutions.getSid()); - loanSolutionsOtherpolicyService.insert(loanSolutionsOtherpolicy); - /***********************应收明细************************************/ - LoanSolutionsDetail loanSolutionsDetail = new LoanSolutionsDetail(); - BeanUtil.copyProperties(dto, loanSolutionsDetail, "sid"); - //融资首付 - String downPayAmounts = dto.getDownPayAmounts(); - loanSolutionsDetail.setDownPayAmounts(StringUtils.isNotBlank(downPayAmounts) ? new BigDecimal(downPayAmounts) : BigDecimal.ZERO); - //贷款保证金 - String bondAmounts = dto.getBondAmounts(); - loanSolutionsDetail.setBondAmounts(StringUtils.isNotBlank(bondAmounts) ? new BigDecimal(bondAmounts) : BigDecimal.ZERO); - //保险保证金 - String depositPremium = dto.getDepositPremium(); - loanSolutionsDetail.setDepositPremium(StringUtils.isNotBlank(depositPremium) ? new BigDecimal(depositPremium) : BigDecimal.ZERO); - //落户保证金 - String depositSettle = dto.getDepositSettle(); - loanSolutionsDetail.setDepositSettle(StringUtils.isNotBlank(depositSettle) ? new BigDecimal(depositSettle) : BigDecimal.ZERO); - //服务费 - String serviceAmount = dto.getServiceAmount(); - loanSolutionsDetail.setServiceAmount(StringUtils.isNotBlank(serviceAmount) ? new BigDecimal(serviceAmount) : BigDecimal.ZERO); - //代收意外险 - String proxyAccidentPremium = dto.getProxyAccidentPremium(); - loanSolutionsDetail.setProxyAccidentPremium(StringUtils.isNotBlank(proxyAccidentPremium) ? new BigDecimal(proxyAccidentPremium) : BigDecimal.ZERO); - //上牌费 - String registerAmount = dto.getRegisterAmount(); - loanSolutionsDetail.setRegisterAmount(StringUtils.isNotBlank(registerAmount) ? new BigDecimal(registerAmount) : BigDecimal.ZERO); - //运管费 - String operationAmount = dto.getOperationAmount(); - loanSolutionsDetail.setOperationAmount(StringUtils.isNotBlank(operationAmount) ? new BigDecimal(operationAmount) : BigDecimal.ZERO); - //补车价 - String vehOtherPrice = dto.getVehOtherPrice(); - loanSolutionsDetail.setVehOtherPrice(StringUtils.isNotBlank(vehOtherPrice) ? new BigDecimal(vehOtherPrice) : BigDecimal.ZERO); - //其它费用 - String otherAmount = dto.getOtherAmount(); - loanSolutionsDetail.setOtherAmount(StringUtils.isNotBlank(otherAmount) ? new BigDecimal(otherAmount) : BigDecimal.ZERO); - //代收首年保险费 - String proxyPremium = dto.getProxyPremium(); - loanSolutionsDetail.setProxyPremium(StringUtils.isNotBlank(proxyPremium) ? new BigDecimal(proxyPremium) : BigDecimal.ZERO); - //代收购置费 - String proxyPurchasetax = dto.getProxyPurchasetax(); - loanSolutionsDetail.setProxyPurchasetax(StringUtils.isNotBlank(proxyPurchasetax) ? new BigDecimal(proxyPurchasetax) : BigDecimal.ZERO); - //抵顶首年保险费 - String offsetPremium = dto.getOffsetPremium(); - //抵顶购置税 - String offsetPurchasetax = dto.getOffsetPurchasetax(); - if ("0".equals(dto.getIsPack())) { - loanSolutionsDetail.setOffsetPremium(BigDecimal.ZERO); - loanSolutionsDetail.setOffsetPurchasetax(BigDecimal.ZERO); - } else { - if (!dto.isPremiumCb()) { + String loanAmount = dto.getLoanAmount(); + loanSolutions.setLoanAmount(StringUtils.isNotBlank(loanAmount) ? new BigDecimal(loanAmount) : BigDecimal.ZERO); + //贷款保证金比例 + String bondRatio = dto.getBondRatio(); + loanSolutions.setBondRatio(bondRatio); + //期数 + loanSolutions.setLoanPeriod(loanPeriod); + //保证金金额 + String bondAmount = dto.getBondAmount(); + loanSolutions.setBondAmount(StringUtils.isNotBlank(bondAmount) ? new BigDecimal(bondAmount) : BigDecimal.ZERO); + //厂家贴息 + String factoryDiscount = dto.getFactoryDiscount(); + loanSolutions.setFactoryDiscount(StringUtils.isNotBlank(factoryDiscount) ? new BigDecimal(factoryDiscount) : BigDecimal.ZERO); + String discountCar = dto.getDiscountCar(); + loanSolutions.setDiscountCar(StringUtils.isNotBlank(discountCar) ? new BigDecimal(discountCar) : BigDecimal.ZERO); + //年利率 + String policyYearRatio = dto.getPolicyYearRatio(); + loanSolutions.setPolicyYearRatio(policyYearRatio); + //月还金额 + String loanPayMoney = dto.getLoanPayMoney(); + loanSolutions.setLoanPayMoney(StringUtils.isNotBlank(loanPayMoney) ? new BigDecimal(loanPayMoney) : BigDecimal.ZERO); + //利息总额 + String loanInterest = dto.getLoanInterest(); + loanSolutions.setLoanInterest(StringUtils.isNotBlank(loanInterest) ? new BigDecimal(loanInterest) : BigDecimal.ZERO); + LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = new LoanSolutionsOtherpolicy(); + if (dto.isOtherPolicyState()) { + BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid"); + //贷款金额 + String otherPolicyAmount = dto.getOtherPolicyAmount(); + loanSolutionsOtherpolicy.setOtherPolicyAmount(StringUtils.isNotBlank(otherPolicyAmount) ? new BigDecimal(otherPolicyAmount) : BigDecimal.ZERO); + //其它融月还 + String otherPolicyMonthlyRepay = dto.getOtherPolicyMonthlyRepay(); + loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(StringUtils.isNotBlank(otherPolicyMonthlyRepay) ? new BigDecimal(otherPolicyMonthlyRepay) : BigDecimal.ZERO); + //其它融利息总额 + String otherPolicyInterest = dto.getOtherPolicyInterest(); + loanSolutionsOtherpolicy.setOtherPolicyInterest(StringUtils.isNotBlank(otherPolicyInterest) ? new BigDecimal(otherPolicyInterest) : BigDecimal.ZERO); + loanSolutions.setOtherPolicyState(1); + String loanDownPay = dto.getLoanDownPay(); + loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO); + + } else { + BeanUtil.copyProperties(dto, loanSolutionsOtherpolicy, "sid"); + String loanDownPay = dto.getLoanDownPay(); + loanSolutionsOtherpolicy.setLoanDownPay(StringUtils.isNotBlank(loanDownPay) ? new BigDecimal(loanDownPay) : BigDecimal.ZERO); + loanSolutionsOtherpolicy.setOtherPolicyAmount(BigDecimal.ZERO); + loanSolutionsOtherpolicy.setOtherPolicyInterest(BigDecimal.ZERO); + loanSolutionsOtherpolicy.setOtherPolicyMonthlyRepay(BigDecimal.ZERO); + loanSolutionsOtherpolicy.setOtherPolicyPeriod(""); + loanSolutionsOtherpolicy.setOtherPolicyYearRatio(""); + loanSolutionsOtherpolicy.setOtherPolicyName(""); + loanSolutions.setOtherPolicyState(0); + } + baseMapper.insert(loanSolutions); + loanSolutionsOtherpolicy.setSolutionsSid(loanSolutions.getSid()); + loanSolutionsOtherpolicyService.insert(loanSolutionsOtherpolicy); + /***********************应收明细************************************/ + LoanSolutionsDetail loanSolutionsDetail = new LoanSolutionsDetail(); + BeanUtil.copyProperties(dto, loanSolutionsDetail, "sid"); + //融资首付 + String downPayAmounts = dto.getDownPayAmounts(); + loanSolutionsDetail.setDownPayAmounts(StringUtils.isNotBlank(downPayAmounts) ? new BigDecimal(downPayAmounts) : BigDecimal.ZERO); + //贷款保证金 + String bondAmounts = dto.getBondAmounts(); + loanSolutionsDetail.setBondAmounts(StringUtils.isNotBlank(bondAmounts) ? new BigDecimal(bondAmounts) : BigDecimal.ZERO); + //保险保证金 + String depositPremium = dto.getDepositPremium(); + loanSolutionsDetail.setDepositPremium(StringUtils.isNotBlank(depositPremium) ? new BigDecimal(depositPremium) : BigDecimal.ZERO); + //落户保证金 + String depositSettle = dto.getDepositSettle(); + loanSolutionsDetail.setDepositSettle(StringUtils.isNotBlank(depositSettle) ? new BigDecimal(depositSettle) : BigDecimal.ZERO); + //服务费 + String serviceAmount = dto.getServiceAmount(); + loanSolutionsDetail.setServiceAmount(StringUtils.isNotBlank(serviceAmount) ? new BigDecimal(serviceAmount) : BigDecimal.ZERO); + //代收意外险 + String proxyAccidentPremium = dto.getProxyAccidentPremium(); + loanSolutionsDetail.setProxyAccidentPremium(StringUtils.isNotBlank(proxyAccidentPremium) ? new BigDecimal(proxyAccidentPremium) : BigDecimal.ZERO); + //上牌费 + String registerAmount = dto.getRegisterAmount(); + loanSolutionsDetail.setRegisterAmount(StringUtils.isNotBlank(registerAmount) ? new BigDecimal(registerAmount) : BigDecimal.ZERO); + //运管费 + String operationAmount = dto.getOperationAmount(); + loanSolutionsDetail.setOperationAmount(StringUtils.isNotBlank(operationAmount) ? new BigDecimal(operationAmount) : BigDecimal.ZERO); + //补车价 + String vehOtherPrice = dto.getVehOtherPrice(); + loanSolutionsDetail.setVehOtherPrice(StringUtils.isNotBlank(vehOtherPrice) ? new BigDecimal(vehOtherPrice) : BigDecimal.ZERO); + //其它费用 + String otherAmount = dto.getOtherAmount(); + loanSolutionsDetail.setOtherAmount(StringUtils.isNotBlank(otherAmount) ? new BigDecimal(otherAmount) : BigDecimal.ZERO); + //代收首年保险费 + String proxyPremium = dto.getProxyPremium(); + loanSolutionsDetail.setProxyPremium(StringUtils.isNotBlank(proxyPremium) ? new BigDecimal(proxyPremium) : BigDecimal.ZERO); + //代收购置费 + String proxyPurchasetax = dto.getProxyPurchasetax(); + loanSolutionsDetail.setProxyPurchasetax(StringUtils.isNotBlank(proxyPurchasetax) ? new BigDecimal(proxyPurchasetax) : BigDecimal.ZERO); + //抵顶首年保险费 + String offsetPremium = dto.getOffsetPremium(); + //抵顶购置税 + String offsetPurchasetax = dto.getOffsetPurchasetax(); + if ("0".equals(dto.getIsPack())) { loanSolutionsDetail.setOffsetPremium(BigDecimal.ZERO); + loanSolutionsDetail.setOffsetPurchasetax(BigDecimal.ZERO); } else { - loanSolutionsDetail.setOffsetPremium(StringUtils.isNotBlank(offsetPremium) ? new BigDecimal(offsetPremium) : BigDecimal.ZERO); + if (!dto.isPremiumCb()) { + loanSolutionsDetail.setOffsetPremium(BigDecimal.ZERO); + } else { + loanSolutionsDetail.setOffsetPremium(StringUtils.isNotBlank(offsetPremium) ? new BigDecimal(offsetPremium) : BigDecimal.ZERO); + } + if (!dto.isPurchaseTaxCb()) { + loanSolutionsDetail.setOffsetPurchasetax(BigDecimal.ZERO); + } else { + loanSolutionsDetail.setOffsetPurchasetax(StringUtils.isNotBlank(offsetPurchasetax) ? new BigDecimal(offsetPurchasetax) : BigDecimal.ZERO); + } } - if (!dto.isPurchaseTaxCb()) { - loanSolutionsDetail.setOffsetPurchasetax(BigDecimal.ZERO); + String proxyTotal = dto.getProxyTotal(); + loanSolutionsDetail.setProxyTotal(StringUtils.isNotBlank(proxyTotal) ? new BigDecimal(proxyTotal) : BigDecimal.ZERO); + String offsetTotal = dto.getOffsetTotal(); + loanSolutionsDetail.setOffsetTotal(StringUtils.isNotBlank(offsetTotal) ? new BigDecimal(offsetTotal) : BigDecimal.ZERO); + //应收合计 + String receivableTotal = dto.getReceivableTotal(); + loanSolutionsDetail.setReceivableTotal(StringUtils.isNotBlank(receivableTotal) ? new BigDecimal(receivableTotal) : BigDecimal.ZERO); + //实收合计 + String realTotal = dto.getRealTotal(); + loanSolutionsDetail.setRealTotal(StringUtils.isNotBlank(realTotal) ? new BigDecimal(realTotal) : BigDecimal.ZERO); + //车辆总价 + String vehTotalPrice = dto.getVehTotalPrice(); + loanSolutionsDetail.setVehTotalPrice(StringUtils.isNotBlank(vehTotalPrice) ? new BigDecimal(vehTotalPrice) : BigDecimal.ZERO); + //名义留购价 + String nominalPrice = dto.getNominalPrice(); + loanSolutionsDetail.setNominalPrice(StringUtils.isNotBlank(nominalPrice) ? new BigDecimal(nominalPrice) : BigDecimal.ZERO); + loanSolutionsDetail.setSolutionsSid(loanSolutions.getSid()); + loanSolutionsDetailService.insert(loanSolutionsDetail); + }else{ + if (loanSolutions != null) { + baseMapper.deleteByOrderSid(dto.getBusSid()); + loanSolutionsOtherpolicyService.deleteByLoanSid(loanSolutions.getSid()); + loanSolutionsDetailService.deleteByLoanSid(loanSolutions.getSid()); + } + loanSolutions = new LoanSolutions(); + //产品政策名称 + String policyName = dto.getPolicyName(); + if (StringUtils.isNotBlank(policyName)) { + loanSolutions.setPolicyName(policyName); + } + if (StringUtils.isBlank(dto.getFactoryDiscount())) { + loanSolutions.setFactoryDiscount(new BigDecimal(BigInteger.ZERO)); + } else { + loanSolutions.setFactoryDiscount(new BigDecimal(dto.getFactoryDiscount())); + } + loanSolutions.setDiscountCar(StringUtils.isNotBlank(dto.getDiscountCar())?new BigDecimal(dto.getDiscountCar()):BigDecimal.ZERO); + loanSolutions.setFactoryDiscountUse(dto.getFactoryDiscountUse()); + LoanSolutionsDetail loanSolutionsDetail = new LoanSolutionsDetail(); + if (StringUtils.isNotBlank(dto.getServiceAmount())) { + loanSolutionsDetail.setServiceAmount(new BigDecimal(dto.getServiceAmount())); } else { - loanSolutionsDetail.setOffsetPurchasetax(StringUtils.isNotBlank(offsetPurchasetax) ? new BigDecimal(offsetPurchasetax) : BigDecimal.ZERO); - } - } - String proxyTotal = dto.getProxyTotal(); - loanSolutionsDetail.setProxyTotal(StringUtils.isNotBlank(proxyTotal) ? new BigDecimal(proxyTotal) : BigDecimal.ZERO); - String offsetTotal = dto.getOffsetTotal(); - loanSolutionsDetail.setOffsetTotal(StringUtils.isNotBlank(offsetTotal) ? new BigDecimal(offsetTotal) : BigDecimal.ZERO); - //应收合计 - String receivableTotal = dto.getReceivableTotal(); - loanSolutionsDetail.setReceivableTotal(StringUtils.isNotBlank(receivableTotal) ? new BigDecimal(receivableTotal) : BigDecimal.ZERO); - //实收合计 - String realTotal = dto.getRealTotal(); - loanSolutionsDetail.setRealTotal(StringUtils.isNotBlank(realTotal) ? new BigDecimal(realTotal) : BigDecimal.ZERO); - //车辆总价 - String vehTotalPrice = dto.getVehTotalPrice(); - loanSolutionsDetail.setVehTotalPrice(StringUtils.isNotBlank(vehTotalPrice) ? new BigDecimal(vehTotalPrice) : BigDecimal.ZERO); - //名义留购价 - String nominalPrice = dto.getNominalPrice(); - loanSolutionsDetail.setNominalPrice(StringUtils.isNotBlank(nominalPrice) ? new BigDecimal(nominalPrice) : BigDecimal.ZERO); - loanSolutionsDetail.setSolutionsSid(loanSolutions.getSid()); - loanSolutionsDetailService.insert(loanSolutionsDetail); + loanSolutionsDetail.setServiceAmount(BigDecimal.ZERO); + } + loanSolutionsDetail.setSolutionsSid(loanSolutions.getSid()); + loanSolutions.setSalesOrderSid(dto.getBusSid()); + loanSolutionsDetailService.insert(loanSolutionsDetail); + baseMapper.insert(loanSolutions); + } return rb.success(); } @@ -940,6 +971,9 @@ public class LoanSolutionsService extends MybatisBaseService resultBean = busSalesOrderFeign.getSaleOrderDetails(loanSolutions.getSalesOrderSid()); + //查询销售订单的状态 + ResultBean resultBean = busSalesOrderFeign.getSalesOrderOne(businessSid); if (resultBean.getData() != null) { - AppOrderDetailsVo appOrderDetailsVo = resultBean.getData(); - //单车主车、挂车、上装成交价 - AppOrderPriceInfoVo appOrderPriceInfoVo = appOrderDetailsVo.getPriceInfo(); - if (appOrderPriceInfoVo != null) { - solutionsDetailsVo.setFinalPrice(appOrderPriceInfoVo.getTransactionPrice()); - solutionsDetailsVo.setGcPrice(appOrderPriceInfoVo.getGcPrice()); - solutionsDetailsVo.setSzPrice(appOrderPriceInfoVo.getSzPrice()); + BusSalesOrdersVo busSalesOrdersVo = resultBean.getData(); + solutionsDetailsVo.setSzPrice(busSalesOrdersVo.getSzPrice()); + solutionsDetailsVo.setFinalPrice(busSalesOrdersVo.getFinalPrice()); + if (busSalesOrdersVo.getBusSalesOrder() != null) { + BusSalesOrder busSalesOrder = busSalesOrdersVo.getBusSalesOrder(); + //全款且为三方金融 + if ("1".equals(busSalesOrder.getPayTypeKey()) && "2".equals(busSalesOrder.getFinancePlan())) { + solutionsDetailsVo.setShowMore(false); + } else if ("2".equals(busSalesOrder.getPayTypeKey())) {//贷款 + solutionsDetailsVo.setShowMore(true); + } } - - } return rb.success().setData(solutionsDetailsVo); } @@ -973,6 +1009,9 @@ public class LoanSolutionsService extends MybatisBaseService resultBean = busSalesOrderFeign.getSalesOrderOne(businessSid); + if (resultBean.getData() != null) { + BusSalesOrdersVo busSalesOrdersVo = resultBean.getData(); + solutionsDetailsVo.setSzPrice(busSalesOrdersVo.getSzPrice()); + solutionsDetailsVo.setFinalPrice(busSalesOrdersVo.getFinalPrice()); + if (busSalesOrdersVo.getBusSalesOrder() != null) { + BusSalesOrder busSalesOrder = busSalesOrdersVo.getBusSalesOrder(); + //全款且为三方金融 + if ("1".equals(busSalesOrder.getPayTypeKey()) && "2".equals(busSalesOrder.getFinancePlan())) { + solutionsDetailsVo.setShowMore(false); + } else if ("2".equals(busSalesOrder.getPayTypeKey())) {//贷款 + solutionsDetailsVo.setShowMore(true); + } + } + } return rb.success().setData(solutionsDetailsVo); } @@ -1456,6 +1511,12 @@ public class LoanSolutionsService extends MybatisBaseService 0) { + return rb.setMsg("抵顶首年保险费不能超过保险费用"); + } + } + } + } else { + if (StringUtils.isNotBlank(query.getOffsetPremium())) { + if (new BigDecimal(query.getOffsetPremium()).compareTo(BigDecimal.ZERO) > 0) { + return rb.setMsg("抵顶首年保险费不能超过保险费用"); + } + } + } + //是否勾选购置税 + if (query.isPurchaseTaxCb()) { + //购置税 + String purchaseTax = query.getPurchaseTax(); + if (StringUtils.isBlank(purchaseTax)) { + return rb.setMsg("请输入购置税"); + } else { + if (StringUtils.isNotBlank(query.getOffsetPurchasetax())) { + if (new BigDecimal(query.getOffsetPurchasetax()).compareTo(new BigDecimal(purchaseTax)) > 0) { + return rb.setMsg("抵顶购置税不能超过购置税"); + } + } + } + + } else { + if (StringUtils.isNotBlank(query.getOffsetPurchasetax())) { + if (new BigDecimal(query.getOffsetPurchasetax()).compareTo(BigDecimal.ZERO) > 0) { + return rb.setMsg("抵顶购置税不能超过购置税"); + } + } + } CalculateQuery calculateQuery = new CalculateQuery(); BeanUtil.copyProperties(query, calculateQuery); ResultBean resultBean = calculate(calculateQuery); @@ -2027,6 +2127,10 @@ public class LoanSolutionsService extends MybatisBaseService listPageVo(PagerQuery pq) { @@ -548,7 +558,79 @@ public class LoanTemplateService extends MybatisBaseService getTemplateApply(String sid) { - return null; + ResultBean rb = ResultBean.fireFail(); + TemplateApplyVo templateApplyVo = new TemplateApplyVo(); + LoanTemplate loanTemplate = fetchBySid(sid); + if (loanTemplate == null) { + return rb.setMsg("该申请不存在"); + } + BeanUtil.copyProperties(loanTemplate, templateApplyVo, "sid"); + templateApplyVo.setUserSid(loanTemplate.getCreateBySid()); + templateApplyVo.setSid(loanTemplate.getSid()); + templateApplyVo.setTaskId(loanTemplate.getTaskId()); + templateApplyVo.setProcInstId(loanTemplate.getProcInstId()); + LoanTemplateInstall loanTemplateInstall = loanTemplateInstallService.selectByMainSid(sid); + if (loanTemplateInstall != null) { + templateApplyVo.setInstall(true); + //根据上装配置sid查询上装配置信息 + String installSid = loanTemplateInstall.getVehInstallModelSid(); + ResultBean installModelDetailsVoResultBean = baseVehinstallmodelFeign.fetchDetailsBySid(installSid); + if (installModelDetailsVoResultBean.getData() != null) { + BaseVehinstallmodelDetailsVo baseVehinstallmodelDetailsVo = installModelDetailsVoResultBean.getData(); + LoanTemplateInstallVo loanTemplateInstallVo = new LoanTemplateInstallVo(); + BeanUtil.copyProperties(installModelDetailsVoResultBean.getData(), loanTemplateInstallVo, "sid"); + BeanUtil.copyProperties(loanTemplateInstall, loanTemplateInstallVo); + String wkSize = "长" + baseVehinstallmodelDetailsVo.getWk_long() + "mm,宽" + baseVehinstallmodelDetailsVo.getWk_wide() + "mm,高" + baseVehinstallmodelDetailsVo.getWk_high() + "mm"; + loanTemplateInstallVo.setWkSize(wkSize); + String plateThickness = "底" + baseVehinstallmodelDetailsVo.getPlateThicknessBottom() + "mm,边" + baseVehinstallmodelDetailsVo.getPlateThicknessEdge() + "mm"; + templateApplyVo.setLoanTemplateInstall(loanTemplateInstallVo); + } + + } + LoanTemplateTrailer loanTemplateTrailer = loanTemplateTrailerService.selectByMainSid(sid); + if (loanTemplateTrailer != null) { + templateApplyVo.setTrailer(true); + //根据挂车配置sid查询挂车的配置信息 + String trailerSid = loanTemplateTrailer.getVehTrailerModelSid(); + ResultBean trailerModelDetailsVoResultBean = baseTrailerModelFeign.fetchDetailsBySid(trailerSid); + if (trailerModelDetailsVoResultBean.getData() != null) { + BaseTrailerModelDetailsVo baseTrailerModelDetailsVo = trailerModelDetailsVoResultBean.getData(); + LoanTemplateTrailerVo loanTemplateTrailerVo = new LoanTemplateTrailerVo(); + BeanUtil.copyProperties(trailerModelDetailsVoResultBean.getData(), loanTemplateTrailerVo, "sid"); + BeanUtil.copyProperties(loanTemplateTrailer, loanTemplateTrailerVo); + String files = loanTemplateTrailer.getVehTrailerCertificateFile(); + if (StringUtils.isNotBlank(files)) { + List fileList = Arrays.asList(files.split(",")); + //拼接前缀 + fileList = fileList.stream().map(v -> fileUploadComponent.getUrlPrefix() + v).collect(Collectors.toList()); + loanTemplateTrailerVo.setVehTrailerCertificateFile(fileList); + } + //挂车车型名称:挂车类型(外观尺寸长宽高总高) + String trailerModelName = baseTrailerModelDetailsVo.getTrailerTypeValue() + "(长" + baseTrailerModelDetailsVo.getAppearanceSizeLong() + "mm,宽" + baseTrailerModelDetailsVo.getAppearanceSizeWide() + "mm,高" + baseTrailerModelDetailsVo.getAppearanceSizeHigh() + "mm,总高" + baseTrailerModelDetailsVo.getAppearanceSizeTotalHigh() + "mm"; + loanTemplateTrailerVo.setModelTrailerName(trailerModelName); + String insideSize = "长" + baseTrailerModelDetailsVo.getInsideSizeLong() + "mm,宽" + baseTrailerModelDetailsVo.getInsideSizeWide() + "mm,高" + baseTrailerModelDetailsVo.getInsideSizeHigh() + "mm"; + loanTemplateTrailerVo.setInsideSize(insideSize); + templateApplyVo.setLoanTemplateTrailer(loanTemplateTrailerVo); + } + } + SolutionssVo solutionssVo = new SolutionssVo(); + //根据sid查询初始化 + //根据关联sid查询是否存在金融方案 + LoanSolutions loanSolutions = loanSolutionsService.selectByApplySid(sid); + if (loanSolutions != null) { + BeanUtil.copyProperties(loanSolutions, solutionssVo); + LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = loanSolutionsOtherpolicyService.selectByLoanSid(loanSolutions.getSid()); + if (loanSolutionsOtherpolicy != null) { + BeanUtil.copyProperties(loanSolutionsOtherpolicy, solutionssVo); + } + LoanSolutionsDetail loanSolutionsDetail = loanSolutionsDetailService.selectLoanSid(loanSolutions.getSid()); + if (loanSolutionsDetail != null) { + BeanUtil.copyProperties(loanSolutionsDetail, solutionssVo); + } + } + List formList = loanSolutionsService.getFormList(solutionssVo); + templateApplyVo.setFinanceForms(formList); + return rb.success().setData(templateApplyVo); } @Transactional(rollbackFor = Exception.class) diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java index c198eb28e6..1a8d8bf98e 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateFeign.java @@ -1,14 +1,14 @@ package com.yxt.anrui.terminal.api.risk.loantemplate; -import com.yxt.anrui.terminal.api.supplychain.vehicleApply.VehicleApplyFeignFallback; -import com.yxt.anrui.terminal.api.supplychain.vehicleApply.VehicleApplyVo; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplatTaskQuery; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyDto; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyQuery; import com.yxt.common.core.result.ResultBean; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; /** * @description: @@ -26,6 +26,31 @@ public interface TemplateFeign { @ApiOperation("方案详情") @GetMapping("/getTemplateApply/{sid}") @ResponseBody - ResultBean getTemplateApply(@PathVariable("sid") String sid); + ResultBean getTemplateApply(@PathVariable("sid") String sid); + + @ApiOperation("办理") + @PutMapping("/agreeTemplateApplyInfo") + @ResponseBody + ResultBean agreeTemplateApplyInfo(@RequestBody TemplateApplyDto dto); + + @ApiOperation("驳回") + @PutMapping("/rejectTemplateApplyInfo") + @ResponseBody + ResultBean rejectTemplateApplyInfo(@RequestBody TemplatTaskQuery query); + + @ApiOperation("撤回") + @PutMapping("/recallTemplateApplyInfo") + @ResponseBody + ResultBean recallTemplateApplyInfo(@RequestBody TemplatTaskQuery query); + + @ApiOperation("终止") + @PutMapping("/stopTemplateApplyInfo") + @ResponseBody + ResultBean stopTemplateApplyInfo(@RequestBody TemplatTaskQuery query); + + @ApiOperation("获取流程操作标题") + @GetMapping("/getFlowOperateTitle") + @ResponseBody + ResultBean getFlowOperateTitle(@SpringQueryMap TemplateApplyQuery query); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateInstallVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateInstallVo.java new file mode 100644 index 0000000000..088402d0f1 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateInstallVo.java @@ -0,0 +1,52 @@ +package com.yxt.anrui.terminal.api.risk.loantemplate; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Data +public class TemplateInstallVo { + + @ApiModelProperty("上装名称") + private String installNameValue; + @ApiModelProperty("委改方式") + private String refitMethodValue; + @ApiModelProperty("供应商") + private String refitFactory; + @ApiModelProperty("外廓尺寸_长") + @JsonIgnore + private String wk_long; + @ApiModelProperty("外廓尺寸_宽") + @JsonIgnore + private String wk_wide; + @ApiModelProperty("外廓尺寸_高") + @JsonIgnore + private String wk_high; + @ApiModelProperty("外廓尺寸") + private String wkSize; + @ApiModelProperty("板材材质") + private String plateMaterialValue; + @ApiModelProperty("板材厚度边") + @JsonIgnore + private String plateThicknessEdge; + @ApiModelProperty("板材厚度底") + @JsonIgnore + private String plateThicknessBottom; + @ApiModelProperty("板材厚度") + private String plateThickness; + @ApiModelProperty("颜色") + private String colorValue; + @ApiModelProperty("更多配置") + private String moreConfig; + @ApiModelProperty("融资价格") + private String vehInstallPrice; + @ApiModelProperty("备注说明") + private String vehInstallRemark; + @ApiModelProperty("上装配置sid") + private String vehInstallModelSid; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateTrailerVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateTrailerVo.java new file mode 100644 index 0000000000..f4b6cf6dc9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateTrailerVo.java @@ -0,0 +1,67 @@ +package com.yxt.anrui.terminal.api.risk.loantemplate; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Data +public class TemplateTrailerVo { + + @ApiModelProperty("车型名称") + private String modelTrailerName; + @ApiModelProperty("挂车类型") + @JsonIgnore + private String trailerTypeValue; + + @ApiModelProperty("车辆品牌") + private String brandName; + @ApiModelProperty("车辆型号名称") + private String carModelName; + @ApiModelProperty("生产厂商名称") + private String manufacturerName; + + @ApiModelProperty("内部尺寸") + private String insideSize; + @ApiModelProperty("内部尺寸长") + @JsonIgnore + private String insideSizeLong; + @ApiModelProperty("内部尺寸宽") + @JsonIgnore + private String insideSizeWide; + @ApiModelProperty("内部尺寸高") + @JsonIgnore + private String insideSizeHigh; + @ApiModelProperty("外观尺寸长") + @JsonIgnore + private String appearanceSizeLong; + @ApiModelProperty("外观尺寸宽") + @JsonIgnore + private String appearanceSizeWide; + @ApiModelProperty("外观尺寸高") + @JsonIgnore + private String appearanceSizeHigh; + @ApiModelProperty("外观尺寸总高") + @JsonIgnore + private String appearanceSizeTotalHigh; + + @ApiModelProperty("箱体颜色") + private String boxColor; + @ApiModelProperty("融资价格") + private String vehTrailerPrice; + @ApiModelProperty("更多配置") + private String moreConfig; + @ApiModelProperty("同车型合格证上传") + private List vehTrailerCertificateFile = new ArrayList<>(); + @ApiModelProperty("备注说明") + private String vehTrailerRemark; + @ApiModelProperty("挂车配置sid") + private String vehTrailerModelSid; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java index 3a3b8e44a9..e51be31ff1 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/TemplateVo.java @@ -1,8 +1,14 @@ package com.yxt.anrui.terminal.api.risk.loantemplate; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.anrui.terminal.api.autoservice.saleOrders.order.OrderSolutionListVo; import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.ArrayList; +import java.util.List; + /** * @description: * @author: dimengzhe @@ -11,4 +17,48 @@ import lombok.Data; @Data public class TemplateVo implements Vo { private static final long serialVersionUID = 5875529565501843924L; + + @ApiModelProperty(value = "实例id") + @JsonProperty("procInsId") + private String procInstId; + + @ApiModelProperty(value = "taskId") + private String taskId; + private String sid; + @ApiModelProperty("用户sid") + private String userSid; + @ApiModelProperty("车型全组织sid") + private String modelOrgPath; + @ApiModelProperty("模板名称") + private String templateName; + @ApiModelProperty("方案key") + private String showTypeKey; + @ApiModelProperty("方案value") + private String showTypeValue; + @ApiModelProperty("车型sid") + private String vehModelSid; + @ApiModelProperty("车型名称") + private String vehModel; + @ApiModelProperty("配置sid") + private String vehModelConfigSid; + @ApiModelProperty("常用配置名称") + private String vehModelConfig; + @ApiModelProperty("更多配置名称") + private String vehModelConfigMore; + @ApiModelProperty("单台指导价") + private String vehPrice; + @ApiModelProperty("合格证公告型号") + private String vehNoticeModel; + + @ApiModelProperty("是否包含上装") + private boolean install; + @ApiModelProperty("是否包含挂车") + private boolean trailer; + + @ApiModelProperty("上装信息") + private TemplateInstallVo loanTemplateInstall; + @ApiModelProperty("挂车信息") + private TemplateTrailerVo loanTemplateTrailer; + + private List financeForms = new ArrayList<>(); } diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplatTaskQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplatTaskQuery.java new file mode 100644 index 0000000000..42767dcb55 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplatTaskQuery.java @@ -0,0 +1,47 @@ +package com.yxt.anrui.terminal.api.risk.loantemplate.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Data +public class TemplatTaskQuery implements Query { + private static final long serialVersionUID = -433099622407821293L; + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + @JsonProperty("procInsId") + private String instanceId; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyDto.java new file mode 100644 index 0000000000..c8a0abc14a --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyDto.java @@ -0,0 +1,39 @@ +package com.yxt.anrui.terminal.api.risk.loantemplate.flowable; + +import com.fasterxml.jackson.annotation.JsonProperty; +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Data +public class TemplateApplyDto implements Dto { + private static final long serialVersionUID = -6876770959954200830L; + + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:procInsId") + @JsonProperty("procInsId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + + private String orgPath; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyQuery.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyQuery.java new file mode 100644 index 0000000000..be542b7128 --- /dev/null +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/loantemplate/flowable/TemplateApplyQuery.java @@ -0,0 +1,25 @@ +package com.yxt.anrui.terminal.api.risk.loantemplate.flowable; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Data +public class TemplateApplyQuery implements Query { + private static final long serialVersionUID = -2400776719460867925L; + + @ApiModelProperty(value = "节点key") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; + @ApiModelProperty(value = "0 上一环节 1下一环节") + @NotNull(message = "参数错误:next") + private Integer next; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java index ef88a7eaa8..fa4dad57ff 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java +++ b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionssDto.java @@ -16,6 +16,9 @@ import javax.validation.constraints.NotBlank; public class AppSolutionssDto implements Dto { private static final long serialVersionUID = 939727612021140148L; + @ApiModelProperty("展示更多") + @JsonProperty("isShowMore") + private boolean isShowMore; @ApiModelProperty("关联sid") @JsonProperty("saleOrderSid") private String busSid; diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateRest.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateRest.java new file mode 100644 index 0000000000..2492c00fe9 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateRest.java @@ -0,0 +1,54 @@ +package com.yxt.anrui.terminal.biz.risk.loantemplate; + +import com.yxt.anrui.terminal.api.risk.loantemplate.TemplateFeign; +import com.yxt.anrui.terminal.api.risk.loantemplate.TemplateVo; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplatTaskQuery; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyDto; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Controller +@RequestMapping("/risk/v1/Template") +public class TemplateRest implements TemplateFeign { + + @Autowired + private TemplateService templateService; + + @Override + public ResultBean getTemplateApply(String sid) { + return templateService.getTemplateApply(sid); + } + + @Override + public ResultBean agreeTemplateApplyInfo(TemplateApplyDto dto) { + return templateService.agreeTemplateApplyInfo(dto); + } + + @Override + public ResultBean rejectTemplateApplyInfo(TemplatTaskQuery query) { + return templateService.rejectTemplateApplyInfo(query); + } + + @Override + public ResultBean recallTemplateApplyInfo(TemplatTaskQuery query) { + return templateService.recallTemplateApplyInfo(query); + } + + @Override + public ResultBean stopTemplateApplyInfo(TemplatTaskQuery query) { + return templateService.stopTemplateApplyInfo(query); + } + + @Override + public ResultBean getFlowOperateTitle(TemplateApplyQuery query) { + return templateService.getFlowOperateTitle(query); + } +} diff --git a/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateService.java b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateService.java new file mode 100644 index 0000000000..e58b432992 --- /dev/null +++ b/anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/loantemplate/TemplateService.java @@ -0,0 +1,115 @@ +package com.yxt.anrui.terminal.biz.risk.loantemplate; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.riskcenter.api.loantemplate.LoanTemplateFeign; +import com.yxt.anrui.riskcenter.api.loantemplate.TemplateApplyVo; +import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeQuery; +import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyNodeVo; +import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateApplyTaskQuery; +import com.yxt.anrui.riskcenter.api.loantemplate.flowable.TemplateCompleteDto; +import com.yxt.anrui.terminal.api.risk.loantemplate.TemplateVo; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplatTaskQuery; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyDto; +import com.yxt.anrui.terminal.api.risk.loantemplate.flowable.TemplateApplyQuery; +import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.Collections; +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2023/8/16 + **/ +@Service +public class TemplateService { + + @Autowired + private LoanTemplateFeign loanTemplateFeign; + + public ResultBean getTemplateApply(String sid) { + ResultBean rb = ResultBean.fireFail(); + ResultBean resultBean = loanTemplateFeign.getTemplateApply(sid); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + TemplateVo templateVo = new TemplateVo(); + BeanUtil.copyProperties(resultBean.getData(), templateVo); + return rb.success().setData(templateVo); + } + + public ResultBean agreeTemplateApplyInfo(TemplateApplyDto dto) { + ResultBean rb = ResultBean.fireFail(); + TemplateCompleteDto templateCompleteDto = new TemplateCompleteDto(); + BeanUtil.copyProperties(dto, templateCompleteDto); + ResultBean resultBean = loanTemplateFeign.complete(templateCompleteDto); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean rejectTemplateApplyInfo(TemplatTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TemplateApplyTaskQuery templateApplyTaskQuery = new TemplateApplyTaskQuery(); + BeanUtil.copyProperties(query, templateApplyTaskQuery); + ResultBean resultBean = loanTemplateFeign.taskReject(templateApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean recallTemplateApplyInfo(TemplatTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TemplateApplyTaskQuery templateApplyTaskQuery = new TemplateApplyTaskQuery(); + BeanUtil.copyProperties(query, templateApplyTaskQuery); + ResultBean resultBean = loanTemplateFeign.revokeProcess(templateApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean stopTemplateApplyInfo(TemplatTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + TemplateApplyTaskQuery templateApplyTaskQuery = new TemplateApplyTaskQuery(); + BeanUtil.copyProperties(query, templateApplyTaskQuery); + ResultBean resultBean = loanTemplateFeign.breakProcess(templateApplyTaskQuery); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + return rb.success().setData(resultBean.getData()); + } + + public ResultBean getFlowOperateTitle(TemplateApplyQuery query) { + ResultBean rb = ResultBean.fireFail(); + //0 上一环节 1下一环节 + int next = query.getNext(); + TemplateApplyNodeQuery getNodeQuery = new TemplateApplyNodeQuery(); + BeanUtil.copyProperties(query, getNodeQuery); + String data = ""; + if (next == 0) { + ResultBean> getPreviousNodesForReject = loanTemplateFeign.getPreviousNodesForReject(getNodeQuery); + if (getPreviousNodesForReject.getSuccess()) { + getPreviousNodesForReject.getData().removeAll(Collections.singleton(null)); + data = getPreviousNodesForReject.getData().get(0).getName(); + } else { + return rb.setMsg(getPreviousNodesForReject.getMsg()); + } + } else if (next == 1) { + ResultBean> getNextNodesForSubmit = loanTemplateFeign.getNextNodesForSubmit(getNodeQuery); + if (getNextNodesForSubmit.getSuccess()) { + getNextNodesForSubmit.getData().removeAll(Collections.singleton(null)); + data = getNextNodesForSubmit.getData().get(0).getName(); + } else { + return rb.setMsg(getNextNodesForSubmit.getMsg()); + } + } else { + return rb.setMsg("参数错误:next"); + } + return rb.success().setData(data); + } +}