Browse Source

Merge remote-tracking branch 'origin/master'

master
God 2 years ago
parent
commit
092c2251e3
  1. 7
      anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppCurrentCarDetailConfigVo.java
  2. 4
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml
  3. 2
      anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java
  4. 1
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java
  5. 3
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml
  6. 139
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java
  7. 223
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  8. 5
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java
  9. 12
      anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDto.java
  10. 36
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java
  11. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailMapper.java
  12. 6
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailMapper.xml
  13. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailService.java
  14. 2
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyMapper.java
  15. 7
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyMapper.xml
  16. 4
      anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyService.java
  17. 133
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDetailsVo.java
  18. 130
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDto.java
  19. 11
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java
  20. 35
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java
  21. 45
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

7
anrui-base/anrui-base-api/src/main/java/com/yxt/anrui/base/api/basevehicle/AppCurrentCarDetailConfigVo.java

@ -1,8 +1,5 @@
package com.yxt.anrui.base.api.basevehicle;
import com.yxt.anrui.base.api.basemodelconfig.AppModelConfigDetailsVo;
import com.yxt.anrui.base.api.basemodelszconfig.AppBaseModelSzconfigDetailsVo;
import com.yxt.anrui.base.api.basetrailer.AppBaseTrailerDetailsVo;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -50,5 +47,9 @@ public class AppCurrentCarDetailConfigVo implements Vo {
private String color;
private String prices;
@ApiModelProperty("车型编码")
private String vehicleTypeCode;
@ApiModelProperty("配置编码")
private String configCode;
}

4
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleMapper.xml

@ -1629,7 +1629,9 @@
FROM bus_vehicle_apply_detail bvad
WHERE bvad.vehicleSid = bvm.sid
AND bvad.configSid = bvc.configurationItemsSid)
) AS num
) AS num,
bvm.vehicleTypeCode,
bmc.configCode
FROM base_vehmodel_config bvc
LEFT JOIN base_vehicle_model bvm ON bvc.modelSid = bvm.sid
LEFT JOIN base_model_config bmc ON bvc.configurationItemsSid = bmc.sid

2
anrui-base/anrui-base-biz/src/main/java/com/yxt/anrui/base/biz/basevehicle/BaseVehicleService.java

@ -853,6 +853,8 @@ public class BaseVehicleService extends MybatisBaseService<BaseVehicleMapper, Ba
configDetailVo.setDateLong(time);
}
}
configDetailVo.setVehicleTypeCode("车型信息("+configDetailVo.getVehicleTypeCode()+")");
configDetailVo.setConfigCode("常用配置("+configDetailVo.getConfigCode()+")");
//车型详细配置数据

1
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/bussalesorder/app/order/AppOrderDetailsVo.java

@ -87,6 +87,7 @@ public class AppOrderDetailsVo implements Vo {
private String billNo;
@ApiModelProperty("资金类型")
private String financePlanValue;
private String financePlan;
@ApiModelProperty("付款类型")
private String payTypeKey;
private String payType;

3
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderMapper.xml

@ -218,7 +218,8 @@
bo.purchaseSystemSid,
bo.purchaseSystemName,
bo.imagesFile,
bo.contractNo contractId
bo.contractNo contractId,
bo.financePlan
from bus_sales_order bo
where sid = #{sid}
</select>

139
anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/bussalesorder/BusSalesOrderService.java

@ -3543,7 +3543,6 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (finUncollectedReceivablesDetailedList.size() == 0) {
saveFinSelect(appOrderDetailsVo, commonContract, userSid);
}
}
public void saveFinSelect(AppOrderDetailsVo appOrderDetailsVo, CommonContract commonContract, String userSid) {
@ -3704,8 +3703,34 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
if (StringUtils.isBlank(busSalesOrder.getContractNo())) {
saveContract(orderContractQuery);
}
//推送车款
createCarFin(vo, busSalesOrder);
//为三方金融和担保贷款
if ("2".equals(busSalesOrder.getFinancePlan()) || "2".equals(busSalesOrder.getPayTypeKey())) {
//根据销售订单sid查询金融方案
ResultBean<SolutionsDetailsVo> solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetails(bv.getBusinessSid());
SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData();
if (solutionsDetailsVo != null) {
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) {
//推送车款
if ("02".equals(solutionsDetailsVo.getTypeKey())) {
//外部金融
createFin(vo, busSalesOrder, solutionsDetailsVo);
} else {
//自营非担保
createFinTwo(vo, busSalesOrder, solutionsDetailsVo);
}
} else {//担保贷款
createFinTwo(vo, busSalesOrder, solutionsDetailsVo);
}
} else {
//推送车款
createCarFin(vo, busSalesOrder);
}
} else {
//推送车款
createCarFin(vo, busSalesOrder);
}
//-----------------推送车款款项结束
//推送采购渠道待选择
@ -3735,6 +3760,114 @@ public class BusSalesOrderService extends MybatisBaseService<BusSalesOrderMapper
}
/**
* 外部金融推送车款去掉厂家贴息
*
* @param vo
* @param busSalesOrder
*/
public void createFin(AppOrderDetailsVo vo, BusSalesOrder busSalesOrder, SolutionsDetailsVo solutionsDetailsVo) {
//推送款项车款=====================================
AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo();
AppOrderPriceInfoVo priceInfo = vo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = vo.getDepositInfo();
//查询销售订单的单台订金与单台成交价是否相等,若不相等,则推送车款为成交价减去订金的,推送订金的为单台订金的
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
//查询台数
String num = priceInfo.getNumber();
//单台成交价
String transactionPrice = priceInfo.getSingleFinalPrice();
ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(busSalesOrder.getContractNo());
CommonContract commonContract = commonContractResultBean.getData();
//单台成交价与单台订金相等
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
String money = new BigDecimal(singleFinalPrice).subtract(new BigDecimal(deposit)).subtract(new BigDecimal(solutionsDetailsVo.getFactoryDiscount())).toString();
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
unCollectionDto.setContractSid(commonContract.getSid());
//合同编号
unCollectionDto.setContractNo(commonContract.getContractNo());
//客户名称
unCollectionDto.setCustomerName(vo.getName());
//客户sid
unCollectionDto.setCustomerSid(vo.getCustomerSid());
//客户类型
unCollectionDto.setCustomerClass(vo.getCustomerKey());
//客户类型
unCollectionDto.setCustomerClassKey(vo.getCustomerType());
//客户头像
unCollectionDto.setCustomerImage(vo.getCustomerImage());
unCollectionDto.setReceivablesName("车款");
unCollectionDto.setCustomerPhone(vo.getPhone());
unCollectionDto.setUseOrgSid(vo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(money);
unCollectionDto.setUserSid(busSalesOrder.getCreateBySid());
unCollectionDto.setReveivableMoney(money);
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(vo.getPayType());
unCollectionDto.setPayTypeKey(vo.getPayTypeKey());
unCollectionDto.setPurchaseSystemName(vo.getPurchaseSystemName());
unCollectionDto.setPurchaseSystemSid(vo.getPurchaseSystemSid());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
}
public void createFinTwo(AppOrderDetailsVo vo, BusSalesOrder busSalesOrder, SolutionsDetailsVo solutionsDetailsVo) {
//推送款项车款=====================================
AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo();
AppOrderPriceInfoVo priceInfo = vo.getPriceInfo();
AppOrderDepositInfoVo depositInfo = vo.getDepositInfo();
//查询销售订单的单台订金与单台成交价是否相等,若不相等,则推送车款为成交价减去订金的,推送订金的为单台订金的
String singleFinalPrice = priceInfo.getSingleFinalPrice();
String deposit = depositInfo.getDeposit();
//查询台数
String num = priceInfo.getNumber();
//单台成交价
String transactionPrice = priceInfo.getSingleFinalPrice();
ResultBean<CommonContract> commonContractResultBean = commonContractFeign.selectByNo(busSalesOrder.getContractNo());
CommonContract commonContract = commonContractResultBean.getData();
//单台成交价与单台订金相等
if (new BigDecimal(singleFinalPrice).compareTo(new BigDecimal(deposit)) != 0) {//推送车款
String money = new BigDecimal(solutionsDetailsVo.getRealTotal()).subtract(new BigDecimal(deposit)).toString();
List<VinListsVo> vinList = appOrderModelInfoVo.getVinListsVos();
for (int i = 0; i < vinList.size(); i++) {
UnCollectionDto unCollectionDto = new UnCollectionDto();
//合同sid
unCollectionDto.setContractSid(commonContract.getSid());
//合同编号
unCollectionDto.setContractNo(commonContract.getContractNo());
//客户名称
unCollectionDto.setCustomerName(vo.getName());
//客户sid
unCollectionDto.setCustomerSid(vo.getCustomerSid());
//客户类型
unCollectionDto.setCustomerClass(vo.getCustomerKey());
//客户类型
unCollectionDto.setCustomerClassKey(vo.getCustomerType());
//客户头像
unCollectionDto.setCustomerImage(vo.getCustomerImage());
unCollectionDto.setReceivablesName("首付款及费用");
unCollectionDto.setCustomerPhone(vo.getPhone());
unCollectionDto.setUseOrgSid(vo.getUseOrgSid());
unCollectionDto.setVinNo(vinList.get(i).getVinNo());
unCollectionDto.setCurrentReceivableMoney(money);
unCollectionDto.setUserSid(busSalesOrder.getCreateBySid());
unCollectionDto.setReveivableMoney(money);
unCollectionDto.setBusVinSid(vinList.get(i).getSid());
unCollectionDto.setPayType(vo.getPayType());
unCollectionDto.setPayTypeKey(vo.getPayTypeKey());
unCollectionDto.setPurchaseSystemName(vo.getPurchaseSystemName());
unCollectionDto.setPurchaseSystemSid(vo.getPurchaseSystemSid());
finUncollectedDetailedFeign.saveUnCollection(unCollectionDto);
}
}
}
public void createCarFin(AppOrderDetailsVo vo, BusSalesOrder busSalesOrder) {
//推送款项车款=====================================
AppOrderModelInfoVo appOrderModelInfoVo = vo.getModelInfo();

223
anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java

@ -1272,15 +1272,17 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
ARReceivebill.FRECEIVEBILLENTRY freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY();
//推送全款车款
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "车款", "1");
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_1 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "首付款", "1");
//推送全款订金
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos2 = finSelectedReceivablesDetailedService.fetchByAuditState1(sid, 1, "订金", "1");
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "车款");
//查询是否含有车架号
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList());
stringsVin.removeAll(Collections.singleton(null));
int carSize = 0;
//全款推送车款
if (finSelectedReceivablesDetailedVos1.size() > 0) {
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "车款");
//查询是否含有车架号
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList());
stringsVin.removeAll(Collections.singleton(null));
if (!stringsVin.isEmpty()) {
//查询根据客户名称和手机号有哪些客户
List<SelectCustomerVo> customerList = finSelectedReceivablesDetailedService.selectCustomerList(sid, 1, "车款");
@ -1338,7 +1340,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum());
fEntityList.add(freceivebillentry);
}
//项目类别key、value
arReceivebill.setF_PAEZ_AssistantType("cw_sklb");
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid);
@ -1407,13 +1408,145 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
}
//全款推送车款(应收未收中为首付款的)
if (finSelectedReceivablesDetailedVos1_1_1.size() > 0) {
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "首付款及费用");
//查询是否含有车架号
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList());
stringsVin.removeAll(Collections.singleton(null));
if (!stringsVin.isEmpty()) {
//查询根据客户名称和手机号有哪些客户
List<SelectCustomerVo> customerList = finSelectedReceivablesDetailedService.selectCustomerList(sid, 1, "首付款及费用");
for (int i = 0; i < customerList.size(); i++) {
String customerName = customerList.get(i).getCustomerName();
String customerMobile = customerList.get(i).getCustomerPhone();
String customerSid = customerList.get(i).getCustomerSid();
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), customerName, customerMobile, customerSid, sid);
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
if (data != null) {
bdCustomer.setTOrgIds(data.getOrgCode());
}
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer);
//往来单位
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber());
fEntityList = new ArrayList<>();
String uncollSid = "";
//查询该客户的车架号不为空的情况
List<FinSelectedReceivablesDetailedVo> vinListVo = finSelectedReceivablesDetailedService.selectVinListVo(sid, 1, "首付款及费用", customerName, customerMobile);
vinListVo.removeAll(Collections.singleton(null));
if (!vinListVo.isEmpty()) {
for (FinSelectedReceivablesDetailedVo vvvv : vinListVo) {
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY();
//结算方式
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey());
freceivebillentry.setFSETTLETYPEIDType("customerPayType");
//收款金额
freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney());
//登记日期
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate());
freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8));
//收款用途
freceivebillentry.setFPURPOSEIDKey("001");
freceivebillentry.setFPURPOSEIDType("cw_skyt");
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum());
fEntityList.add(freceivebillentry);
uncollSid = vvvv.getReceivablesSid();
}
}
//查询该客户的车架号为空的情况
FinSelectedReceivablesDetailedVo vvVo = finSelectedReceivablesDetailedService.fetchByAuditStateV(sid, 1, "首付款及费用", customerName, customerMobile);
if (vvVo != null) {
uncollSid = vvVo.getReceivablesSid();
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY();
//结算方式
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey());
freceivebillentry.setFSETTLETYPEIDType("customerPayType");
//收款金额
freceivebillentry.setFRECTOTALAMOUNTFOR(vvVo.getSumAll());
//登记日期
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate());
//收款用途
freceivebillentry.setFPURPOSEIDKey("001");
freceivebillentry.setFPURPOSEIDType("cw_skyt");
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum());
fEntityList.add(freceivebillentry);
}
//项目类别key、value
arReceivebill.setF_PAEZ_AssistantType("cw_sklb");
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid);
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("001");
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("002");
}
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (customerList.size() == 1 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1.size() == 0) {
arReceivebill.setFBillNo(confirmation.getBillNo());
} else {
carSize = i + 1;
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize);
}
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill);
}
} else {
fEntityList = new ArrayList<>();
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY();
finSelectedReceivablesDetailedVos1.removeAll(Collections.singleton(null));
if (!finSelectedReceivablesDetailedVos1.isEmpty()) {
for (int i = 0; i < finSelectedReceivablesDetailedVos1.size(); i++) {
FinSelectedReceivablesDetailedVo finSelectedReceivablesDetailedVo = finSelectedReceivablesDetailedVos1.get(i);
//先推送客户
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), finSelectedReceivablesDetailedVo.getCustomerName(), finSelectedReceivablesDetailedVo.getCustomerPhone(), finSelectedReceivablesDetailedVo.getCustomerSid(), sid);
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
if (data != null) {
bdCustomer.setTOrgIds(data.getOrgCode());
}
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer);
//往来单位
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber());
//结算方式
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey());
freceivebillentry.setFSETTLETYPEIDType("customerPayType");
//收款金额
freceivebillentry.setFRECTOTALAMOUNTFOR(finSelectedReceivablesDetailedVo.getSumAll());
//登记日期
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate());
//收款用途
freceivebillentry.setFPURPOSEIDKey("001");
freceivebillentry.setFPURPOSEIDType("cw_skyt");
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum());
fEntityList.add(freceivebillentry);
//项目类别key、value
arReceivebill.setF_PAEZ_AssistantType("cw_sklb");
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(finSelectedReceivablesDetailedVos1.get(0).getReceivablesSid());
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("001");
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("002");
}
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (finSelectedReceivablesDetailedVos1_1_1.size() > 1) {
int size = 0;
size = i + 1;
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + size);
} else {
arReceivebill.setFBillNo(confirmation.getBillNo());
}
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill);
}
}
}
}
//全款推送订金
if (finSelectedReceivablesDetailedVos2.size() > 0) {
voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "订金");
List<FinSelectedReceivablesDetailedVo> voListv = finSelectedReceivablesDetailedService.selectDetailsList(sid, 1, "订金");
//查询是否含有车架号
stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList());
List<String> stringsVin = voListv.stream().filter(v -> StringUtils.isNotBlank(v.getVIN())).map(v -> v.getVIN()).collect(Collectors.toList());
stringsVin.removeAll(Collections.singleton(null));
if (!stringsVin.isEmpty()) {
//查询根据客户名称和手机号有哪些客户
@ -1475,7 +1608,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
arReceivebill.setF_PAEZ_AssistantType("cw_sklb");
arReceivebill.setF_PAEZ_AssistantKey("006");
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (finSelectedReceivablesDetailedVos1.size() == 0 && customerList.size() == 1) {
if (finSelectedReceivablesDetailedVos1.size() == 0 && customerList.size() == 1 && finSelectedReceivablesDetailedVos1_1_1.size() == 0) {
arReceivebill.setFBillNo(confirmation.getBillNo());
} else {
@ -1505,7 +1638,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
//结算方式
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey());
freceivebillentry.setFSETTLETYPEIDType("customerPayType");
// BigDecimal bigAll = finSelectedReceivablesDetailedVos2.stream().map(FinSelectedReceivablesDetailedVo::getSubscriptionMoney).map(BigDecimal::new).reduce(BigDecimal.ZERO, BigDecimal::add);
//收款金额
freceivebillentry.setFRECTOTALAMOUNTFOR(finSelectedReceivablesDetailedVo.getSumAll());
//登记日期
@ -1526,7 +1658,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
} else {
arReceivebill.setFBillNo(confirmation.getBillNo());
}
ResultBean resultBean2 = arReceivebillService.draftArReceivebill(arReceivebill);
}
}
@ -1579,7 +1710,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
arReceivebill.setF_PAEZ_AssistantKey("002");
}
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (finSelectedReceivablesDetailedVos1_1.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0) {
if (finSelectedReceivablesDetailedVos1_1.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1_1.size() == 0) {
arReceivebill.setFBillNo(confirmation.getBillNo());
} else {
//单据编号
@ -1629,7 +1760,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
arReceivebill.setF_PAEZ_AssistantKey("006");
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2_1.size() == 1 &&
finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0) {
finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0
&& finSelectedReceivablesDetailedVos1_1_1.size() == 0) {
arReceivebill.setFBillNo(confirmation.getBillNo());
} else {
//单据编号
@ -1641,8 +1773,73 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
//==========================================贷款-首付款开始
//贷款推送车款(应收未收中为首付款的)
List<FinSelectedReceivablesDetailedVo> finSelectedReceivablesDetailedVos1_1_2 = finSelectedReceivablesDetailedService.fetchByAuditState1_1(sid, 1, "首付款及费用", "2");
finSelectedReceivablesDetailedVos1_1_2.removeAll(Collections.singleton(null));
if (finSelectedReceivablesDetailedVos1_1_2.size() > 0) {
for (int i = 0; i < finSelectedReceivablesDetailedVos1_1_2.size(); i++) {
FinSelectedReceivablesDetailedVo vvvv = finSelectedReceivablesDetailedVos1_1.get(i);
String contractNo = vvvv.getContractNo();
String vinNo = vvvv.getVIN();
BdCustomer bdCustomer = createBdCustomer1(confirmation.getUseOrgSid(), vvvv.getCustomerName(), contractNo, sid, vinNo);
//推送金蝶客户,修改目标组织为采购系统对应的金蝶分公司code
if (data != null) {
bdCustomer.setTOrgIds(data.getOrgCode());
}
ResultBean resultBeanMiddle = bdCustomerService.draftBdCustomer(bdCustomer);
//往来单位
arReceivebill.setFCONTACTUNIT(bdCustomer.getFNumber());
fEntityList = new ArrayList<>();
String uncollSid = "";
freceivebillentry = new ARReceivebill.FRECEIVEBILLENTRY();
//结算方式
freceivebillentry.setFSETTLETYPEIDKey(confirmation.getCollectionTypeKey());
freceivebillentry.setFSETTLETYPEIDType("customerPayType");
//收款金额
freceivebillentry.setFRECTOTALAMOUNTFOR(vvvv.getSubscriptionMoney());
//登记日期
freceivebillentry.setFPOSTDATE(confirmation.getCollectionDate());
if (vvvv.getVIN().length() >= 8) {
freceivebillentry.setF_PAEZ_Base1(vvvv.getVIN().substring(vvvv.getVIN().length() - 8));
}
//收款用途
freceivebillentry.setFPURPOSEIDKey("001");
freceivebillentry.setFPURPOSEIDType("cw_skyt");
freceivebillentry.setFACCOUNTID(confirmation.getCollectionBankNum());
fEntityList.add(freceivebillentry);
uncollSid = vvvv.getReceivablesSid();
//项目类别key、value
arReceivebill.setF_PAEZ_AssistantType("cw_sklb");
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed = finUncollectedReceivablesDetailedService.fetchBySid(uncollSid);
if ("1".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("001");
} else if ("2".equals(finUncollectedReceivablesDetailed.getPayTypeKey())) {
arReceivebill.setF_PAEZ_AssistantKey("002");
}
arReceivebill.setFRECEIVEBILLENTRY(fEntityList);
if (finSelectedReceivablesDetailedVos1_1_2.size() == 1 && finSelectedReceivablesDetailedVos1.size() == 0 && finSelectedReceivablesDetailedVos2.size() == 0 && finSelectedReceivablesDetailedVos1_1_1.size() == 0 && finSelectedReceivablesDetailedVos1_1.size() == 0) {
arReceivebill.setFBillNo(confirmation.getBillNo());
} else {
//单据编号
carSize = carSize + 1;
arReceivebill.setFBillNo(confirmation.getBillNo() + "-" + carSize);
}
ResultBean resultBean1 = arReceivebillService.draftArReceivebill(arReceivebill);
}
}
//==========================================贷款首付款结束
//简易订单-订金收取
if (finSelectedReceivablesDetailedVos1.isEmpty() && finSelectedReceivablesDetailedVos2.isEmpty() && finSelectedReceivablesDetailedVos1_1.isEmpty() && finSelectedReceivablesDetailedVos2_1.isEmpty()) {
if (finSelectedReceivablesDetailedVos1.isEmpty() &&
finSelectedReceivablesDetailedVos2.isEmpty() &&
finSelectedReceivablesDetailedVos1_1.isEmpty() &&
finSelectedReceivablesDetailedVos2_1.isEmpty() &&
finSelectedReceivablesDetailedVos1_1_1.isEmpty() &&
finSelectedReceivablesDetailedVos1_1_2.isEmpty()) {
//先推送客户
AppBusDepositBuscenterDetailVo busDeposit = busDepositFeign.getDepositInfoDetails(confirmation.getBusSid()).getData();
BdCustomer bdCustomer = createBdCustomer(confirmation.getUseOrgSid(), busDeposit.getPayName(), busDeposit.getPhone(), "", sid);

5
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDetailsVo.java

@ -15,9 +15,14 @@ import java.math.BigDecimal;
public class SolutionsDetailsVo implements Vo {
private static final long serialVersionUID = 2678358838559733044L;
@ApiModelProperty("是否是三方金融")
private boolean finPlanState;
//金融方案主表
@ApiModelProperty("类型:01自营非担保,02外部金融")
private String type;
@ApiModelProperty("类型:01自营非担保,02外部金融")
private String typeKey;
private Integer isPack;
@ApiModelProperty("产品政策名称")

12
anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansolutions/app/SolutionsDto.java

@ -71,12 +71,12 @@ public class SolutionsDto implements Dto {
private String otherPolicyInterest;
/* @ApiModelProperty("'融资首付")
private String loanDownPay;*/
/* @ApiModelProperty("总贷款金额")
private String loanAmountTotal;*/
/* @ApiModelProperty("期数")
private Integer period;*/
/* @ApiModelProperty("月还金额")
private String loanDownPay;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private Integer period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;*/

36
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutions/LoanSolutionsService.java

@ -1,6 +1,8 @@
package com.yxt.anrui.riskcenter.biz.loansolutions;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign;
import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
@ -37,19 +39,49 @@ public class LoanSolutionsService extends MybatisBaseService<LoanSolutionsMapper
private LoanSolutionsOtherpolicyService loanSolutionsOtherpolicyService;
@Autowired
private LoanSolutionsDetailService loanSolutionsDetailService;
@Autowired
private BusSalesOrderFeign busSalesOrderFeign;
public ResultBean<SolutionsDetailsVo> selectDetails(String saleOrderSid) {
ResultBean<SolutionsDetailsVo> rb = ResultBean.fireFail();
SolutionsDetailsVo solutionsDetailsVo = new SolutionsDetailsVo();
LoanSolutions loanSolutions = baseMapper.selectBySaleOrderSid(saleOrderSid);
BeanUtil.copyProperties(loanSolutions, solutionsDetailsVo);
if(loanSolutions != null){
BeanUtil.copyProperties(loanSolutions, solutionsDetailsVo);
//查询其它融以及金融费用明细是否存在
LoanSolutionsOtherpolicy loanSolutionsOtherpolicy = loanSolutionsOtherpolicyService.selectByLoanSid(loanSolutions.getSid());
if(loanSolutionsOtherpolicy != null){
BeanUtil.copyProperties(loanSolutionsOtherpolicy,solutionsDetailsVo);
}
LoanSolutionsDetail loanSolutionsDetail = loanSolutionsDetailService.selectLoanSid(loanSolutions.getSid());
if(loanSolutionsDetail != null){
BeanUtil.copyProperties(loanSolutionsDetail,solutionsDetailsVo);
}
}
//根据销售订单sid查询销售订单的信息
ResultBean<AppOrderDetailsVo> resultBean = busSalesOrderFeign.getSaleOrderDetails(saleOrderSid);
if (resultBean.getData() != null) {
AppOrderDetailsVo appOrderDetailsVo = resultBean.getData();
if ("1".equals(appOrderDetailsVo.getPayTypeKey())) {
if ("2".equals(appOrderDetailsVo.getFinancePlan())) {
solutionsDetailsVo.setFinPlanState(true);
}else{
solutionsDetailsVo.setFinPlanState(false);
}
}else{
solutionsDetailsVo.setFinPlanState(false);
}
}
if (loanSolutions == null) {
return rb.success().setData(solutionsDetailsVo);
}
return rb.success().setData(solutionsDetailsVo);
}
public ResultBean saveDto(SolutionsDto dto) {
ResultBean rb = ResultBean.fireFail();
//自营非担保和贷款的需要填写金融方案
if ("1".equals(dto.getTypeKey()) || StringUtils.isBlank(dto.getTypeKey())) {
if ("01".equals(dto.getTypeKey()) || StringUtils.isBlank(dto.getTypeKey())) {
//融资项目总额 = 主车发票价+融资票据+挂车+保险+购置税+车损上浮
BigDecimal loanTotal = new BigDecimal(BigInteger.ZERO);
//主车发票价

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailMapper.java

@ -21,6 +21,8 @@ import org.apache.ibatis.annotations.Mapper;
public interface LoanSolutionsDetailMapper extends BaseMapper<LoanSolutionsDetail> {
int deleteByLoanSid(String sid);
LoanSolutionsDetail selectLoanSid(String sid);
/*IPage<LoanSolutionsDetailVo> selectPageVo(IPage<LoanSolutionsDetail> page, @Param(Constants.WRAPPER) Wrapper<LoanSolutionsDetail> qw);

6
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailMapper.xml

@ -36,4 +36,10 @@
from loan_solution_detail
where solutionSid = #{sid}
</delete>
<select id="selectLoanSid" resultType="com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail">
select *
from loan_solutions_detail
where solutionsSid = #{sid}
</select>
</mapper>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsdetail/LoanSolutionsDetailService.java

@ -22,6 +22,10 @@ public class LoanSolutionsDetailService extends MybatisBaseService<LoanSolutions
public int deleteByLoanSid(String sid) {
return baseMapper.deleteByLoanSid(sid);
}
public LoanSolutionsDetail selectLoanSid(String sid) {
return baseMapper.selectLoanSid(sid);
}
/*private QueryWrapper<LoanSolutionsDetail> createQueryWrapper(LoanSolutionsDetailQuery query) {
QueryWrapper<LoanSolutionsDetail> qw = new QueryWrapper<>();

2
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyMapper.java

@ -56,6 +56,8 @@ import java.util.List;
public interface LoanSolutionsOtherpolicyMapper extends BaseMapper<LoanSolutionsOtherpolicy> {
int deleteByLoanSid(String sid);
LoanSolutionsOtherpolicy selectByLoanSid(String sid);
//@Update("update loan_solutions_otherpolicy set name=#{msg} where id=#{id}")
//IPage<LoanSolutionsOtherpolicyVo> voPage(IPage<LoanSolutionsOtherpolicy> page, @Param(Constants.WRAPPER) QueryWrapper<LoanSolutionsOtherpolicy> qw);

7
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyMapper.xml

@ -16,4 +16,11 @@
from loan_solutions_otherpolicy
where solutionsSid = #{sid}
</delete>
<select id="selectByLoanSid"
resultType="com.yxt.anrui.riskcenter.api.loansolutionsotherpolicy.LoanSolutionsOtherpolicy">
select *
from loan_solutions_otherpolicy
where solutionsSid = #{sid}
</select>
</mapper>

4
anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansolutionsotherpolicy/LoanSolutionsOtherpolicyService.java

@ -47,6 +47,10 @@ public class LoanSolutionsOtherpolicyService extends MybatisBaseService<LoanSolu
public int deleteByLoanSid(String sid) {
return baseMapper.deleteByLoanSid(sid);
}
public LoanSolutionsOtherpolicy selectByLoanSid(String sid) {
return baseMapper.selectByLoanSid(sid);
}
/* private QueryWrapper<LoanSolutionsOtherpolicy> createQueryWrapper(LoanSolutionsOtherpolicyQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));

133
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDetailsVo.java

@ -0,0 +1,133 @@
package com.yxt.anrui.terminal.api.risk.solutions;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/3/27 10:10
* @Description
*/
@Data
public class AppSolutionsDetailsVo implements Vo {
private static final long serialVersionUID = 3397001702938717885L;
@ApiModelProperty("是否是三方金融")
private boolean finPlanState;
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
@ApiModelProperty("类型:1自营非担保,2外部金融")
private String type;
private String typeKey;
@ApiModelProperty("是否打包,0不打包,1打包")
private Integer isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("车损上浮")
private String vehDamageFloat;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
private int loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
private String bondAmount;
@ApiModelProperty("厂家贴息")
private String factoryDiscount;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
//其他融
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private Integer otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private Integer period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
//金融方案费用明细
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

130
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/AppSolutionsDto.java

@ -0,0 +1,130 @@
package com.yxt.anrui.terminal.api.risk.solutions;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @Author dimengzhe
* @Date 2023/3/25 9:31
* @Description
*/
@Data
public class AppSolutionsDto implements Dto {
private static final long serialVersionUID = 4647854767322041875L;
@ApiModelProperty("销售订单sid")
private String saleOrderSid;
@ApiModelProperty("类型:1自营非担保,2外部金融")
private String type;
private String typeKey;
@ApiModelProperty("是否打包,0不打包,1打包")
private Integer isPack;
@ApiModelProperty("产品政策名称")
private String policyName;
@ApiModelProperty("主车发票价")
private String mainVehicleAmount;
@ApiModelProperty("融资票据")
private String accessoriesAmount;
@ApiModelProperty("挂车金额")
private String trailerAmount;
@ApiModelProperty("购置税")
private String purchaseTax;
@ApiModelProperty("保险金额")
private String premium;
@ApiModelProperty("车损上浮")
private String vehDamageFloat;
@ApiModelProperty("融资项目总额")
private String loanTotal;
@ApiModelProperty("首付款比例")
private String downPayRatio;
@ApiModelProperty("首付金额")
private String downPayAmount;
@ApiModelProperty("贷款金额")
private String loanAmount;
@ApiModelProperty("贷款期数")
private int loanPeriod;
@ApiModelProperty("贷款保证金比例")
private String bondRatio;
@ApiModelProperty("贷款保证金金额")
private String bondAmount;
@ApiModelProperty("厂家贴息")
private String factoryDiscount;
@ApiModelProperty("年利率")
private String policyYearRatio;
@ApiModelProperty("月还金额")
private String loanPayMoney;
@ApiModelProperty("利息总额")
private String loanInterest;
//其他融
@ApiModelProperty("其它融名称")
private String otherPolicyName;
@ApiModelProperty("其它融贷款金额")
private String otherPolicyAmount;
@ApiModelProperty("其它融期数")
private Integer otherPolicyPeriod;
@ApiModelProperty("其它融月还")
private String otherPolicyMonthlyRepay;
@ApiModelProperty("其它融利息总额")
private String otherPolicyInterest;
@ApiModelProperty("'融资首付")
private String loanDownPay;
@ApiModelProperty("总贷款金额")
private String loanAmountTotal;
@ApiModelProperty("期数")
private Integer period;
@ApiModelProperty("月还金额")
private String monthlyRepay;
@ApiModelProperty("利息总额")
private String interest;
@ApiModelProperty("预计首期还款日")
private String returnTime;
//金融方案费用明细
@ApiModelProperty("融资首付")
private String downPayAmounts;
@ApiModelProperty("贷款保证金")
private String bondAmounts;
@ApiModelProperty("保险保证金")
private String depositPremium;
@ApiModelProperty("落户保证金")
private String depositSettle;
@ApiModelProperty("服务费")
private String serviceAmount;
@ApiModelProperty("代收意外险")
private String proxyAccidentPremium;
@ApiModelProperty("上牌费")
private String registerAmount;
@ApiModelProperty("运管费")
private String operationAmount;
@ApiModelProperty("补车价")
private String vehOtherPrice;
@ApiModelProperty("其它费用")
private String otherAmount;
@ApiModelProperty("其它费用说明")
private String otherAmountRemark;
@ApiModelProperty("办理方式选择")
private String dealWay;
@ApiModelProperty("代收首年保险费")
private String proxyPremium;
@ApiModelProperty("代收购置费")
private String proxyPurchasetax;
@ApiModelProperty("抵顶首年保险费")
private String offsetPremium;
@ApiModelProperty("抵顶购置税")
private String offsetPurchasetax;
@ApiModelProperty("抵顶费用合计")
private String offsetTotal;
@ApiModelProperty("应收合计")
private String receivableTotal;
@ApiModelProperty("实收合计")
private String realTotal;
@ApiModelProperty("车辆总价")
private String vehTotalPrice;
@ApiModelProperty("名义留购价")
private String nominalPrice;
}

11
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/risk/solutions/SolutionsFeign.java

@ -1,7 +1,12 @@
package com.yxt.anrui.terminal.api.risk.solutions;
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.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @Author dimengzhe
@ -16,7 +21,13 @@ import org.springframework.cloud.openfeign.FeignClient;
fallback = SolutionsFeignFallback.class)
public interface SolutionsFeign {
@ApiOperation("保存金融方案")
@PostMapping("/save")
ResultBean save(@RequestBody AppSolutionsDto dto);
@ApiOperation("初始化金融方案")
@PostMapping("/selectDetailsVo")
ResultBean<AppSolutionsDetailsVo> selectDetailsVo(@RequestParam("saleOrderSid") String saleOrderSid);
}

35
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsRest.java

@ -0,0 +1,35 @@
package com.yxt.anrui.terminal.biz.risk.solutions;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.terminal.api.risk.solutions.AppSolutionsDetailsVo;
import com.yxt.anrui.terminal.api.risk.solutions.AppSolutionsDto;
import com.yxt.anrui.terminal.api.risk.solutions.SolutionsFeign;
import com.yxt.common.core.result.ResultBean;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
/**
* @Author dimengzhe
* @Date 2023/3/25 9:39
* @Description
*/
@Api(tags = "金融方案")
@Controller
@RequestMapping("/risk/v1/solutions")
public class SolutionsRest implements SolutionsFeign {
@Autowired
private SolutionsService solutionsService;
@Override
public ResultBean save(AppSolutionsDto dto) {
return solutionsService.save(dto);
}
@Override
public ResultBean<AppSolutionsDetailsVo> selectDetailsVo(String saleOrderSid) {
return solutionsService.selectDetailsVo(saleOrderSid);
}
}

45
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/risk/solutions/SolutionsService.java

@ -0,0 +1,45 @@
package com.yxt.anrui.terminal.biz.risk.solutions;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDto;
import com.yxt.anrui.terminal.api.risk.solutions.AppSolutionsDetailsVo;
import com.yxt.anrui.terminal.api.risk.solutions.AppSolutionsDto;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
* @Author dimengzhe
* @Date 2023/3/25 9:40
* @Description
*/
@Service
public class SolutionsService {
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
public ResultBean save(AppSolutionsDto dto) {
ResultBean rb = ResultBean.fireFail();
SolutionsDto solutionsDto = new SolutionsDto();
BeanUtil.copyProperties(dto, solutionsDto);
ResultBean resultBean = loanSolutionsFeign.save(solutionsDto);
if (!resultBean.getSuccess()) {
return rb.setMsg(resultBean.getMsg());
}
return rb.success();
}
public ResultBean<AppSolutionsDetailsVo> selectDetailsVo(String saleOrderSid) {
ResultBean<AppSolutionsDetailsVo> rb = ResultBean.fireFail();
AppSolutionsDetailsVo appSolutionsDetailsVo = new AppSolutionsDetailsVo();
ResultBean<SolutionsDetailsVo> resultBean = loanSolutionsFeign.selectDetails(saleOrderSid);
if(!resultBean.getSuccess()){
return rb.setMsg(resultBean.getMsg());
}
BeanUtil.copyProperties(resultBean.getData(),appSolutionsDetailsVo);
return rb.success().setData(appSolutionsDetailsVo);
}
}
Loading…
Cancel
Save