|
|
@ -37,7 +37,6 @@ import com.yxt.anrui.base.api.basetrailer.*; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicle; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehicle.BaseVehicleSelectVo; |
|
|
|
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificate; |
|
|
|
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateFeign; |
|
|
|
import com.yxt.anrui.base.api.basevehiclecertificate.BaseVehicleCertificateVo; |
|
|
|
import com.yxt.anrui.base.api.basevehiclecertificate.CertificateStateQuery; |
|
|
@ -52,17 +51,14 @@ import com.yxt.anrui.base.api.basevehinstall.BaseVehinstall; |
|
|
|
import com.yxt.anrui.base.api.commoncontract.CommonContractFeign; |
|
|
|
import com.yxt.anrui.base.common.enums.CertificState; |
|
|
|
import com.yxt.anrui.base.common.utils.Rule; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApply; |
|
|
|
import com.yxt.anrui.buscenter.api.busarrearscarryvehicleapply.BusArrearsCarryVehicleApplyVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplication; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationDto; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillapplication.BusBillApplicationVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbilltrailer.BusBillTrailerVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicle; |
|
|
|
import com.yxt.anrui.buscenter.api.busbillvehicle.BusBillVehicleVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.AppDeliveredDetailsVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.BusDelivered; |
|
|
|
import com.yxt.anrui.buscenter.api.busdelivered.DeliveredDictVo; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapply.*; |
|
|
|
import com.yxt.anrui.buscenter.api.busdeliveredapplydetails.AppCarListVo; |
|
|
@ -113,25 +109,22 @@ import com.yxt.anrui.fin.api.finbillapplication.FinBillApplication; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationDto; |
|
|
|
import com.yxt.anrui.fin.api.finbillapplication.FinBillApplicationFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbilltrailer.FinBillTrailerVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleDto; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleFeign; |
|
|
|
import com.yxt.anrui.fin.api.finbillvehicle.FinBillVehicleVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.fincollectionconfirmation.FinCollectionConfirmationFeign; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingDetailsVo; |
|
|
|
import com.yxt.anrui.fin.api.fincompanyinvoicing.FinCompanyInvoicingFeign; |
|
|
|
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.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailedVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.ReceiveInvoiceVo; |
|
|
|
import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.ReceiveSeleteVo; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoice; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceDto; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.FinVehicleInvoiceFeign; |
|
|
|
import com.yxt.anrui.fin.api.finvehicleinvoice.InvoiceVo; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.FinKingDeeFeign; |
|
|
|
import com.yxt.anrui.fin.api.kingdee.costadjustmentsbill.CostAdjustmentsBill; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowProcessMapQuery; |
|
|
|
import com.yxt.anrui.flowable.api.flow.FlowableFeign; |
|
|
|
import com.yxt.anrui.flowable.api.flow.UpdateFlowFieldVo; |
|
|
@ -156,10 +149,8 @@ import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamine; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanfileexamine.LoanFileexamineFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitfileexamine.LoanHomevisitFileexamineFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitinvestigate.LoanHomevisitInvestigateFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanhomevisitprep.LoanHomevisitPrepFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewDetailsVo; |
|
|
|
import com.yxt.anrui.riskcenter.api.loannoguaranteecreditreview.LoanNoGuaranteeCreditReviewFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loanparameter.LoanParameterFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutionsFeign; |
|
|
|
import com.yxt.anrui.riskcenter.api.loansolutions.app.SolutionsDetailsVo; |
|
|
|
import com.yxt.anrui.scm.api.scmvehrebate.ScmVehRebateDto; |
|
|
@ -171,7 +162,10 @@ import com.yxt.common.base.utils.PagerUtil; |
|
|
|
import com.yxt.common.core.query.PagerQuery; |
|
|
|
import com.yxt.common.core.result.ResultBean; |
|
|
|
import com.yxt.common.core.vo.PagerVo; |
|
|
|
import com.yxt.messagecenter.api.message.*; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFeign; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFlowVo; |
|
|
|
import com.yxt.messagecenter.api.message.MessageFlowableQuery; |
|
|
|
import com.yxt.messagecenter.api.message.PushMessageQuery; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.apache.tomcat.util.threads.ThreadPoolExecutor; |
|
|
|
import org.slf4j.Logger; |
|
|
@ -303,7 +297,8 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
private BusSalesOrderTrailerService busSalesOrderTrailerService; |
|
|
|
@Autowired |
|
|
|
private BusSalesOrderMakeupService busSalesOrderMakeupService; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private FinKingDeeFeign finKingDeeFeign; |
|
|
|
/** |
|
|
|
* 构造出库申请的查询条件 |
|
|
|
* |
|
|
@ -1198,6 +1193,9 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
Future future11 = pool.submit(() -> { |
|
|
|
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); |
|
|
|
}); |
|
|
|
Future future12 = pool.submit(() -> { |
|
|
|
pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -1362,6 +1360,56 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void pushVehRebateAdjustBill(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList,SolutionsDetailsVo solutionsDetailsVo) { |
|
|
|
BigDecimal cjtx = BigDecimal.ZERO;//厂家贴息
|
|
|
|
BigDecimal txdck = BigDecimal.ZERO;//贴息抵车款
|
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getFactoryDiscount())) { |
|
|
|
cjtx = new BigDecimal(solutionsDetailsVo.getFactoryDiscount()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(solutionsDetailsVo.getDiscountCar())) { |
|
|
|
txdck = new BigDecimal(solutionsDetailsVo.getDiscountCar()); |
|
|
|
} |
|
|
|
if (cjtx.compareTo(txdck) > 0) { |
|
|
|
BigDecimal pushMoney = cjtx.subtract(txdck); |
|
|
|
CostAdjustmentsBill costAdjustmentsBill = new CostAdjustmentsBill(); |
|
|
|
costAdjustmentsBill.setBussDate(DateUtil.formatDate(new Date())); |
|
|
|
List<CostAdjustmentsBill.CostAdjustmentsBillDetailDto> resultDetails = new ArrayList<>(); |
|
|
|
String useOrgCode = ""; |
|
|
|
if (StringUtils.isNotBlank(busDeliveredApply.getUseOrgSid())) { |
|
|
|
String useOrgSid = busDeliveredApply.getUseOrgSid(); |
|
|
|
SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(useOrgSid).getData(); |
|
|
|
if (null != organizationVo) { |
|
|
|
costAdjustmentsBill.setUseOrgCode(organizationVo.getOrgCode()); |
|
|
|
useOrgCode = organizationVo.getOrgCode(); |
|
|
|
} |
|
|
|
} |
|
|
|
for (BusDeliveredApplyDetails d : detailsList) { |
|
|
|
BaseVehicle vehicle = baseVehicleFeign.fetchBySid(d.getVinSid()).getData(); |
|
|
|
if (null != vehicle) { |
|
|
|
costAdjustmentsBill.setCommUnit(vehicle.getManufacturerCode()); |
|
|
|
String vinCode = ""; |
|
|
|
String deptCode = ""; |
|
|
|
SysOrganizationVo data = sysOrganizationFeign.fetchBySid(vehicle.getPurchaseSystemSid()).getData(); |
|
|
|
if (null != data) { |
|
|
|
deptCode = data.getOrgCode(); |
|
|
|
} |
|
|
|
vinCode = vehicle.getVinNo().substring(vehicle.getVinNo().length() - 8); |
|
|
|
//添加成本调整单
|
|
|
|
CostAdjustmentsBill.CostAdjustmentsBillDetailDto dto = new CostAdjustmentsBill.CostAdjustmentsBillDetailDto(); |
|
|
|
dto.setCompanyCode(useOrgCode); |
|
|
|
dto.setMaterialID(vinCode); |
|
|
|
dto.setDeptCode(deptCode); |
|
|
|
dto.setAmount(pushMoney.negate().toString()); |
|
|
|
resultDetails.add(dto); |
|
|
|
} |
|
|
|
} |
|
|
|
if (!resultDetails.isEmpty()) { |
|
|
|
costAdjustmentsBill.setResultDetails(resultDetails); |
|
|
|
finKingDeeFeign.pushCostAdjustmentsBill(costAdjustmentsBill); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void pushVehRebate(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList, String factoryDiscount) { |
|
|
|
for (BusDeliveredApplyDetails busDeliveredApplyDetails : detailsList) { |
|
|
|
ScmVehRebateDto scmVehRebateDto = new ScmVehRebateDto(); |
|
|
@ -1631,6 +1679,9 @@ public class BusDeliveredApplyService extends MybatisBaseService<BusDeliveredApp |
|
|
|
Future future11 = pool.submit(() -> { |
|
|
|
pushVehRebate(busDeliveredApply, detailsList, solutionsDetailsVo.getFactoryDiscount()); |
|
|
|
}); |
|
|
|
Future future12 = pool.submit(() -> { |
|
|
|
pushVehRebateAdjustBill(busDeliveredApply, detailsList, solutionsDetailsVo); |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|