Browse Source

款项推送待出库逻辑修改

master
dimengzhe 2 years ago
parent
commit
31c58e928f
  1. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java
  2. 3
      anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredDto.java
  3. 6
      anrui-fin/anrui-fin-biz/pom.xml
  4. 73
      anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/fincollectionconfirmation/FinCollectionConfirmationService.java
  5. 5
      doc/databases/bus-center_tables.sql

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDelivered.java

@ -89,4 +89,7 @@ public class BusDelivered extends BaseEntity {
private String distributorPriceTwo;
@ApiModelProperty("销售折让")
private String singleCarDiscountPrice;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
}

3
anrui-buscenter/anrui-buscenter-api/src/main/java/com/yxt/anrui/buscenter/api/busdelivered/BusDeliveredDto.java

@ -92,4 +92,7 @@ public class BusDeliveredDto implements Dto {
@ApiModelProperty("销售折让")
private String singleCarDiscountPrice;
@ApiModelProperty("销售订单车辆sid")
private String busVinSid;
}

6
anrui-fin/anrui-fin-biz/pom.xml

@ -8,6 +8,7 @@
<version>0.0.1</version>
<relativePath/>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>anrui-fin-biz</artifactId>
@ -15,6 +16,11 @@
<version>0.0.1</version>
<dependencies>
<dependency>
<artifactId>anrui-riskcenter-api</artifactId>
<groupId>com.yxt.anrui</groupId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-cache</artifactId>

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

@ -73,6 +73,8 @@ import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign;
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo;
import com.yxt.common.base.config.component.FileUploadComponent;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.HanZiConverterPinYin;
@ -147,6 +149,8 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
private CrmCustomerTempFeign crmCustomerTempFeign;
@Autowired
private BasePurchaseSystemFeign basePurchaseSystemFeign;
@Autowired
private LoanSolutionsFeign loanSolutionsFeign;
private QueryWrapper<FinCollectionConfirmation> createQueryWrapper(FinCollectionConfirmationQuery query) {
// todo: 这里根据具体业务调整查询条件
@ -1236,17 +1240,14 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
* 全款
* 推送车款根据客户名称和手机号查询分组查询是否有车架号若有车架号则需要推送具体的车架号的数组若没有车架号则按照客户名称和手机号推送该客户整体的车款
* 推送订金根据客户名称和手机号查询分组查询是否有车架号若有车架号则需要推送具体的车架号的数组若没有车架号则按照客户名称和手机号推送该客户整体的订金
*
* <p>
* 贷款
* 推送车款
* 查询所有的贷款的车款数据推送临时车架号
*
* <p>
* 推送订金
* 查询所有的贷款的订金数据推送临时车架号
*
*
*
*
* @param sid
* @param userSid
* @return
@ -1852,7 +1853,6 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
}
}
//==========================================贷款首付款结束
//简易订单-订金收取
if (finSelectedReceivablesDetailedVos1.isEmpty() &&
@ -1931,8 +1931,50 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
AppOrderDetailsVo vo = orderDetails.getData();
if (vo != null) {
AppOrderPriceInfoVo priceInfoVo = vo.getPriceInfo();
//单台整体成交价
BigDecimal singleFinalPrice = new BigDecimal(priceInfoVo.getSingleFinalPrice());
if (singleFinalPrice.compareTo(bigDecimalVinAll) == 0) {//推送待出库
BigDecimal leftAll = BigDecimal.ZERO;
BigDecimal rightAll = BigDecimal.ZERO;
if ("2".equals(vo.getFinancePlan()) || "2".equals(vo.getPayTypeKey())) {
//根据销售订单sid查询金融方案
ResultBean<SolutionsDetailsVo> solutionsDetailsVoResultBean = loanSolutionsFeign.selectDetailss(commonContract.getBusSid());
SolutionsDetailsVo solutionsDetailsVo = solutionsDetailsVoResultBean.getData();
if (solutionsDetailsVo != null) {
if (StringUtils.isNotBlank(solutionsDetailsVo.getTypeKey())) {
if ("02".equals(solutionsDetailsVo.getTypeKey())) {
//外部金融:成交价 = 订金+车款+厂家贴息-服务费
leftAll = leftAll.add(singleFinalPrice);
if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) {
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getFactoryDiscount()));
}
if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) {
leftAll = leftAll.subtract(new BigDecimal(solutionsDetailsVo.getServiceAmount()));
}
rightAll = rightAll.add(bigDecimalVinAll);
} else {
//自营非担保: 实收订金 = 首付款及费用+订金
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) {
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal()));
}
rightAll = rightAll.add(bigDecimalVinAll);
}
} else {//担保贷款: 实收订金 = 首付款及费用+订金
if (StringUtils.isNotBlank(solutionsDetailsVo.getRealTotal())) {
leftAll = leftAll.add(new BigDecimal(solutionsDetailsVo.getRealTotal()));
}
rightAll = rightAll.add(bigDecimalVinAll);
}
} else {
// 成交价 = 车款+订金
leftAll = leftAll.add(singleFinalPrice);
rightAll = rightAll.add(bigDecimalVinAll);
}
} else {
// 成交价 = 车款+订金
leftAll = leftAll.add(singleFinalPrice);
rightAll = rightAll.add(bigDecimalVinAll);
}
if (leftAll.compareTo(rightAll) == 0) {//推送待出库
BusDeliveredDto busDeliveredDto = new BusDeliveredDto();
busDeliveredDto.setSubscriptionKey(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getCode());
busDeliveredDto.setSubscription(VehicleStateTempOrLast.PaymentEnum.PAY_MODELS.getRemarks());
@ -1944,12 +1986,12 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
busDeliveredDto.setMobile(v.getCustomerPhone());
busDeliveredDto.setPrice(priceInfoVo.getSingleFinalPrice());
SubmitVo intermediary1 = vo.getIntermediary1();
if(intermediary1 != null){
if (intermediary1 != null) {
busDeliveredDto.setDistributorName(intermediary1.getIntermediaryName());
busDeliveredDto.setDistributorPrice(intermediary1.getAgencyFee());
}
SubmitVo intermediary2 = vo.getIntermediary2();
if(intermediary2 != null){
if (intermediary2 != null) {
busDeliveredDto.setDistributorNameTwo(intermediary2.getIntermediaryName());
busDeliveredDto.setDistributorPriceTwo(intermediary2.getAgencyFee());
}
@ -1962,18 +2004,7 @@ public class FinCollectionConfirmationService extends MybatisBaseService<FinColl
if (sysOrganizationVoResultBean.getData() != null) {
busDeliveredDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
//根据应收未收表中的业务车辆sid查询车辆的sid
FinUncollectedReceivablesDetailed finUncollectedReceivablesDetailed1 = finUncollectedReceivablesDetailedService.fetchBySid(v.getReceivablesSid());
if (finUncollectedReceivablesDetailed1 != null) {
String busVinSid = finUncollectedReceivablesDetailed1.getBusVinSid();
if (StringUtils.isNotBlank(busVinSid)) {
//查询销售订单中的车辆列表的车辆相关的sid
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.details(busVinSid).getData();
if (busSalesOrderVehicle != null) {
busDeliveredDto.setVinNo(busSalesOrderVehicle.getLinkNo());
}
}
}
busDeliveredDto.setBusVinSid(finUncollectedReceivablesDetailed.getBusVinSid());
ResultBean resultBean1 = busDeliveredFeign.save(busDeliveredDto);
}
}

5
doc/databases/bus-center_tables.sql

@ -183,9 +183,9 @@ CREATE TABLE `bus_delivered`
`updateBySid` varchar(64) DEFAULT NULL COMMENT '修改人sid',
`type` INT(32) DEFAULT NULL COMMENT '类型:1车款交清、2欠款提车',
`subscription` VARCHAR(64) DEFAULT NULL COMMENT '业务状态',
`subscriptionKey` VARCHAR(64) DEFAULT NULL COMMENT '业务状态',
`subscriptionKey` VARCHAR(64) DEFAULT NULL COMMENT '业务状态key',
`paymentMethod` VARCHAR(64) DEFAULT NULL COMMENT '销售类型',
`paymentMethodKey` VARCHAR(64) DEFAULT NULL COMMENT '销售类型',
`paymentMethodKey` VARCHAR(64) DEFAULT NULL COMMENT '销售类型key',
`contractNo` VARCHAR(64) DEFAULT NULL COMMENT '合同编号',
`name` VARCHAR(64) DEFAULT NULL COMMENT '客户名称',
`vinNo` VARCHAR(64) DEFAULT NULL COMMENT '车架号',
@ -201,6 +201,7 @@ CREATE TABLE `bus_delivered`
`distributorNameTwo` VARCHAR(200) DEFAULT NULL COMMENT '返利人2',
`distributorPriceTwo` VARCHAR(200) DEFAULT NULL COMMENT '返利金额2',
`singleCarDiscountPrice` VARCHAR(200) DEFAULT NULL COMMENT '销售折让',
`busVinSid` VARCHAR(200) DEFAULT NULL COMMENT '销售订单车辆sid',
PRIMARY KEY (`id`),
KEY `id` (`id`)
) ENGINE = INNODB

Loading…
Cancel
Save