|
|
@ -26,6 +26,9 @@ |
|
|
|
package com.yxt.anrui.base.biz.basevehicleoutapply; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateTime; |
|
|
|
import cn.hutool.core.date.DateUnit; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
@ -39,6 +42,12 @@ import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyDetailVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapply.BusDeliveredApplyFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrderFeign; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordSourceLCVo; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; |
|
|
|
import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedFeign; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.VehicleInvoiceVo; |
|
|
@ -55,8 +64,11 @@ import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
import static java.util.Comparator.comparing; |
|
|
|
|
|
|
|
|
|
|
|
/** |
|
|
|
* Project: anrui-base(销售出库单) <br/> |
|
|
@ -85,11 +97,13 @@ public class BaseVehicleOutApplyService extends MybatisBaseService<BaseVehicleOu |
|
|
|
@Autowired |
|
|
|
private FinVehicleInvoiceFeign finVehicleInvoiceFeign; |
|
|
|
@Autowired |
|
|
|
private BusArrearsCarryVehicleApplyFeign busArrearsCarryVehicleApplyFeign; |
|
|
|
@Autowired |
|
|
|
private BusArrearsCarryVehicleDetailsFeign busArrearsCarryVehicleDetailsFeign; |
|
|
|
@Autowired |
|
|
|
private BusDeliveredApplyFeign busDeliveredApplyFeign; |
|
|
|
private BusSalesOrderVehicleFeign busSalesOrderVehicleFeign; |
|
|
|
@Autowired |
|
|
|
private FinUncollectedReceivablesDetailedFeign finUncollectedReceivablesDetailedFeign; |
|
|
|
@Autowired |
|
|
|
private FinSelectedReceivablesDetailedFeign finSelectedReceivablesDetailedFeign; |
|
|
|
|
|
|
|
private QueryWrapper<BaseVehicleOutApply> createQueryWrapper(BaseVehicleOutApplyQueryNew params) { |
|
|
|
QueryWrapper<BaseVehicleOutApply> qw = new QueryWrapper<>(); |
|
|
@ -176,7 +190,7 @@ public class BaseVehicleOutApplyService extends MybatisBaseService<BaseVehicleOu |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderFeign.selectOrderByContractNo(concatNo).getData(); |
|
|
|
if (busSalesOrder != null) { |
|
|
|
String saleOrderSid = busSalesOrder.getSid(); |
|
|
|
if (StringUtils.isNotBlank(saleOrderSid)){ |
|
|
|
if (StringUtils.isNotBlank(saleOrderSid)) { |
|
|
|
SolutionsDetailsVo solutionsDetailsVo = loanSolutionsFeign.selectDetailsss(saleOrderSid).getData(); |
|
|
|
if (solutionsDetailsVo != null) { |
|
|
|
record.setFactoryDiscount(solutionsDetailsVo.getFactoryDiscount()); |
|
|
@ -200,16 +214,42 @@ public class BaseVehicleOutApplyService extends MybatisBaseService<BaseVehicleOu |
|
|
|
} |
|
|
|
//出库类型
|
|
|
|
Integer i = busArrearsCarryVehicleDetailsFeign.selByVinSidAndYBJ(vinSid).getData(); |
|
|
|
if (i > 0){ |
|
|
|
if (i > 0) { |
|
|
|
record.setCkType("欠款出库"); |
|
|
|
//欠款时长(天)
|
|
|
|
String saleDate = record.getSaleDate(); |
|
|
|
}else { |
|
|
|
BusSalesOrderVehicle busSalesOrderVehicle = busSalesOrderVehicleFeign.selectByNoAndVinSid(record.getConcatNo(), record.getVinSid()).getData(); |
|
|
|
//应收未收sid
|
|
|
|
List<String> ysSids = finUncollectedReceivablesDetailedFeign.fetchYsSidByOrderVehSid(busSalesOrderVehicle.getSid()).getData(); |
|
|
|
for (String ysSid : ysSids) { |
|
|
|
FinSelectedReceivablesDetailed data = finSelectedReceivablesDetailedFeign.fetchByReceivablesSidLimt(ysSid).getData(); |
|
|
|
BigDecimal currentReceivableMoney = data.getCurrentReceivableMoney(); |
|
|
|
BigDecimal subscriptionMoney = data.getSubscriptionMoney(); |
|
|
|
BigDecimal decimal = currentReceivableMoney.subtract(subscriptionMoney); |
|
|
|
int i1 = decimal.intValue(); |
|
|
|
if (i1 > 0) { |
|
|
|
String today = DateUtil.today(); |
|
|
|
DateTime currentDate = DateUtil.parse(today); |
|
|
|
DateTime saleDateTime = DateUtil.parse(saleDate); |
|
|
|
int j = saleDateTime.compareTo(currentDate); |
|
|
|
long betweenDay = DateUtil.between(saleDateTime, currentDate, DateUnit.DAY); |
|
|
|
record.setQkDate(betweenDay * j * -1); |
|
|
|
break; |
|
|
|
}else { |
|
|
|
String auditDate = data.getAuditDate(); |
|
|
|
DateTime auditDateTime = DateUtil.parse(auditDate); |
|
|
|
DateTime saleDateTime = DateUtil.parse(saleDate); |
|
|
|
int j = saleDateTime.compareTo(auditDateTime); |
|
|
|
long betweenDay = DateUtil.between(saleDateTime, auditDateTime, DateUnit.DAY); |
|
|
|
record.setQkDate(betweenDay * j * -1); |
|
|
|
} |
|
|
|
} |
|
|
|
} else { |
|
|
|
record.setCkType("正常出库"); |
|
|
|
record.setQkDate(Long.parseLong("0")); |
|
|
|
} |
|
|
|
} |
|
|
|
PagerVo<BaseVehicleOutApplyVoNew> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
//p.setTotal(countTotal);
|
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|