|
|
@ -79,6 +79,7 @@ import com.yxt.anrui.buscenter.api.bussalesorder.app.order.AppOrderDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderdiscount.BusSalesOrderDiscount; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordermakeup.BusSalesOrderMakeup; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesorderprice.BusSalesOrderPrice; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordersubmit.BusSalesOrderSubmit; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordersubmit.SubmitVo; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordertrailer.BusSalesOrderTrailer; |
|
|
|
import com.yxt.anrui.buscenter.api.bussalesordervehicle.BusSalesOrderVehicle; |
|
|
@ -99,6 +100,7 @@ import com.yxt.anrui.buscenter.biz.bussalesorder.BusSalesOrderService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorderdiscount.BusSalesOrderDiscountService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesorderloancontract.BusSalesOrderLoancontractService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordermakeup.BusSalesOrderMakeupService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordersubmit.BusSalesOrderSubmitService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordertrailer.BusSalesOrderTrailerService; |
|
|
|
import com.yxt.anrui.buscenter.biz.bussalesordervehicle.BusSalesOrderVehicleService; |
|
|
|
import com.yxt.anrui.buscenter.biz.busvalcustfiling.BusValcustFilingService; |
|
|
@ -137,6 +139,7 @@ import com.yxt.anrui.flowable.api.utils.ProcDefEnum; |
|
|
|
import com.yxt.anrui.flowable.sqloperationsymbol.BusinessVariables; |
|
|
|
import com.yxt.anrui.portal.api.dictcommon.DictCommonFeign; |
|
|
|
import com.yxt.anrui.portal.api.dictcommon.DictCommonVo; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganization; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationFeign; |
|
|
|
import com.yxt.anrui.portal.api.sysorganization.SysOrganizationVo; |
|
|
|
import com.yxt.anrui.portal.api.sysparameter.SysParameterFeign; |
|
|
@ -154,8 +157,12 @@ import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvest |
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigatecustomer.LoanHomevisitInvestigateCustomer; |
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; |
|
|
|
import com.yxt.anrui.scm.api.scmvehiclegression.ScmVehicleGression; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateFeign; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateVehDto; |
|
|
@ -178,6 +185,7 @@ import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.math.RoundingMode; |
|
|
|
import java.time.YearMonth; |
|
|
|
import java.time.format.DateTimeFormatter; |
|
|
|
import java.util.*; |
|
|
@ -307,6 +315,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private CarsSoldProfitFeign carsSoldProfitFeign; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderSubmitService busSalesOrderSubmitService; |
|
|
|
|
|
|
|
/** |
|
|
|
* 构造出库申请的查询条件 |
|
|
@ -1189,10 +1199,10 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
Future future10 = pool.submit(() -> { |
|
|
|
pushOtherDocument(busDeliveredApply, detailsList); |
|
|
|
}); |
|
|
|
/* Future future13 = pool.submit(() -> { |
|
|
|
Future future13 = pool.submit(() -> { |
|
|
|
//推送车辆利润报表
|
|
|
|
pushCarSoldProfit(busDeliveredApply, detailsList); |
|
|
|
});*/ |
|
|
|
}); |
|
|
|
//推送单车返利管理
|
|
|
|
String concatNo = busDeliveredApply.getContractNo(); |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectOrderByContractNo(concatNo).getData(); |
|
|
@ -1379,7 +1389,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
private void pushCarSoldProfit(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList) { |
|
|
|
List<CarsSoldProfitDto> dtoList = new ArrayList<>(); |
|
|
|
detailsList.removeAll(Collections.singleton(null)); |
|
|
|
if(!detailsList.isEmpty()){ |
|
|
|
if (!detailsList.isEmpty()) { |
|
|
|
BusSalesOrder busSalesOrder = busSalesOrderService.selectByContractNos(busDeliveredApply.getContractNo()); |
|
|
|
for (int i = 0; i < detailsList.size(); i++) { |
|
|
|
BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); |
|
|
@ -1390,7 +1400,29 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
carsSoldProfitDto.setCustomerSid(busSalesOrder.getCustomerSid()); |
|
|
|
carsSoldProfitDto.setCustomerName(busSalesOrder.getCustomerName()); |
|
|
|
//金融服务费
|
|
|
|
ResultBean<SolutionsDetailsVo> detailsVoResultBean = loanSolutionsFeign.selectDetailsss(busSalesOrder.getSid()); |
|
|
|
if (detailsVoResultBean.getData() != null) { |
|
|
|
SolutionsDetailsVo solutionsDetailsVo = detailsVoResultBean.getData(); |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getServiceAmount())) { |
|
|
|
carsSoldProfitDto.setFinanceServiceCharge(solutionsDetailsVo.getServiceAmount()); |
|
|
|
} |
|
|
|
} |
|
|
|
//中介返利
|
|
|
|
BigDecimal zjAll = BigDecimal.ZERO; |
|
|
|
BusSalesOrderSubmit busSalesOrderSubmit = busSalesOrderSubmitService.selectBySaleOrderSid(busSalesOrder.getSid()); |
|
|
|
String zjReturnPrice = ""; |
|
|
|
boolean isShow = false; |
|
|
|
if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorName())) { |
|
|
|
if (busSalesOrderSubmit.getDistributorPrice() != null) { |
|
|
|
zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPrice()); |
|
|
|
} |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(busSalesOrderSubmit.getDistributorNameTwo())) { |
|
|
|
if (busSalesOrderSubmit.getDistributorPriceTwo() != null) { |
|
|
|
zjAll = zjAll.add(busSalesOrderSubmit.getDistributorPriceTwo()); |
|
|
|
} |
|
|
|
} |
|
|
|
carsSoldProfitDto.setMediatorRebatePrice(zjAll.toString()); |
|
|
|
|
|
|
|
//车辆台账中取
|
|
|
|
carsSoldProfitDto.setOrgSidPath(baseVehicle.getOrgSidPath()); |
|
|
@ -1407,6 +1439,7 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
carsSoldProfitDto.setPurchaseSystemSid(baseVehicle.getPurchaseSystemSid()); |
|
|
|
carsSoldProfitDto.setPurchaseSystemName(baseVehicle.getPurchaseSystemName()); |
|
|
|
//入库价
|
|
|
|
carsSoldProfitDto.setCostPrice(baseVehicle.getCostPrice().toString()); |
|
|
|
//出库价
|
|
|
|
carsSoldProfitDto.setExStockPrice(baseVehicle.getContractPrice().toString()); |
|
|
|
//存放地点
|
|
|
@ -1414,25 +1447,31 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
carsSoldProfitDto.setLocationName(baseVehicle.getLocationName()); |
|
|
|
//厂家结算价
|
|
|
|
carsSoldProfitDto.setMakersSettlementPrice(baseVehicle.getSettlePrice().toString()); |
|
|
|
|
|
|
|
//排产订单编号
|
|
|
|
|
|
|
|
//变速箱
|
|
|
|
|
|
|
|
carsSoldProfitDto.setSchedulingId(baseVehicle.getOrderingNo()); |
|
|
|
//数据日期
|
|
|
|
carsSoldProfitDto.setCreateDate(new Date()); |
|
|
|
|
|
|
|
|
|
|
|
//事业部
|
|
|
|
List<String> stringList = Arrays.asList(carsSoldProfitDto.getOrgSidPath().split("/")); |
|
|
|
String busSid = stringList.get(1); |
|
|
|
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(busSid).getData(); |
|
|
|
carsSoldProfitDto.setDivision(sysOrganization.getName()); |
|
|
|
carsSoldProfitDto.setDivisionSid(busSid); |
|
|
|
dtoList.add(carsSoldProfitDto); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询存放地点变更的申请经费以及台数
|
|
|
|
ScmVehicleGression scmVehicleGression = baseMapper.selectByLocationAndVin(carsSoldProfitDto.getLocationSid(),baseVehicle.getSid()); |
|
|
|
if(scmVehicleGression != null){ |
|
|
|
BigDecimal allMon = BigDecimal.ZERO; |
|
|
|
String applicantFunds = scmVehicleGression.getApplicantFunds(); |
|
|
|
int vount = baseMapper.selectCOuntByScmSid(scmVehicleGression.getSid()); |
|
|
|
if(StringUtils.isNotBlank(applicantFunds) && new BigDecimal(applicantFunds).compareTo(BigDecimal.ZERO)>0){ |
|
|
|
allMon = new BigDecimal(applicantFunds).divide(new BigDecimal(vount),2, RoundingMode.HALF_UP); |
|
|
|
} |
|
|
|
carsSoldProfitDto.setMoveCarPrice(allMon.toString()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
if(!dtoList.isEmpty()){ |
|
|
|
if (!dtoList.isEmpty()) { |
|
|
|
ResultBean resultBean = carsSoldProfitFeign.saveOrUpdate(dtoList); |
|
|
|
} |
|
|
|
} |
|
|
@ -5313,4 +5352,12 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
public String selCustomerByBusVinSid(String busVinSid) { |
|
|
|
return baseMapper.selCustomerByBusVinSid(busVinSid); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean pushReport(String sid) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
BusDeliveredApply busDeliveredApply = fetchBySid(sid); |
|
|
|
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid()); |
|
|
|
pushCarSoldProfit(busDeliveredApply,detailsList); |
|
|
|
return rb.success(); |
|
|
|
} |
|
|
|
} |