From ddfe9aeb3039d524b62e07f635c09d3296dcac89 Mon Sep 17 00:00:00 2001 From: dimengzhe Date: Thu, 18 May 2023 09:45:22 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=87=BA=E5=BA=93=E5=8A=9E?= =?UTF-8?q?=E7=90=86=E5=90=8E=E6=8E=A8=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BusDeliveredApplyService.java | 450 ++++++++++-------- 1 file changed, 253 insertions(+), 197 deletions(-) diff --git a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java index 7849ffc0db..dd5e176f1a 100644 --- a/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java +++ b/anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java @@ -30,6 +30,7 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanDetailsVo; import com.yxt.anrui.base.api.basemiddleman.BaseMiddlemanFeign; import com.yxt.anrui.base.api.basetrailer.BaseTrailerFeign; @@ -102,12 +103,14 @@ import com.yxt.messagecenter.api.message.MessageFeign; import com.yxt.messagecenter.api.message.MessageFlowVo; import com.yxt.messagecenter.api.message.MessageFlowableQuery; import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.math.BigDecimal; import java.util.*; +import java.util.concurrent.*; import java.util.stream.Collectors; /** @@ -647,213 +650,266 @@ public class BusDeliveredApplyService extends MybatisBaseService detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid()); - FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); - finBillApplicationDto.setUseOrgSid(busDeliveredApply.getUseOrgSid()); - finBillApplicationDto.setCreateBySid(busDeliveredApply.getApplySid()); - finBillApplicationDto.setCreateByName(busDeliveredApply.getApplyName()); - finBillApplicationDto.setContractNo(busDeliveredApply.getContractNo()); - //根据合同编号查询销售订单的信息 - ResultBean orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo()); - if (!resultBean.getSuccess()) { - log.error("获取销售订单详情出错啦!!!"); - return rb; - } - AppOrderDetailsVo appOrderDetailsVo = orderDetailsVoResultBean.getData(); - finBillApplicationDto.setCustomerSid(appOrderDetailsVo.getCustomerSid()); - finBillApplicationDto.setCustomerName(busDeliveredApply.getName()); - finBillApplicationDto.setDeptSid(busDeliveredApply.getApplyDeptSid()); - finBillApplicationDto.setDeptName(busDeliveredApply.getApplyDept()); - finBillApplicationDto.setModelName(busDeliveredApply.getModelName()); - finBillApplicationDto.setModelSid(busDeliveredApply.getModelSid()); - //根据用户sid查询staffSid - ResultBean userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid()); - if (!userVoResultBean.getSuccess()) { - return rb.setMsg(userVoResultBean.getMsg()); - } - finBillApplicationDto.setStaffSid(userVoResultBean.getData().getStaffSid()); - finBillApplicationDto.setStaffName(busDeliveredApply.getStaffName()); - finBillApplicationDto.setSaleDeptSid(busDeliveredApply.getStaffDeptSid()); - finBillApplicationDto.setSaleDeptName(busDeliveredApply.getStaffDeptName()); - finBillApplicationDto.setSaleTypeKey(busDeliveredApply.getPaymentMethodKey()); - finBillApplicationDto.setSaleTypeValue(busDeliveredApply.getPaymentMethod()); - //开票单位 - if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { - ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); - if (invoicingDetailsVoResultBean.getData() != null) { - finBillApplicationDto.setOpenTickUnitName(invoicingDetailsVoResultBean.getData().getName()); - } - } - finBillApplicationDto.setBillStateKey("001"); - finBillApplicationDto.setBillStateValue("正常开票"); - List finBillVehicles = new ArrayList<>(); - for (int i = 0; i < detailsList.size(); i++) { - FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto(); - BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); - finBillVehicleDto.setVinNo(busDeliveredApplyDetails.getVinNo()); - finBillVehicleDto.setVehSid(busDeliveredApplyDetails.getVinSid()); - //合格证状态 - BaseVehicleCertificateVo baseVehicleCertificate = baseVehicleCertificateFeign.selStateByVehicleSid(busDeliveredApplyDetails.getVinSid()).getData(); - if (baseVehicleCertificate != null) { - finBillVehicleDto.setCertificateStateKey(baseVehicleCertificate.getCertificateState()); - finBillVehicleDto.setCertificateStateValue(baseVehicleCertificate.getCertificateSituationValue()); - } - finBillVehicles.add(finBillVehicleDto); - } - finBillApplicationDto.setFinBillVehicles(finBillVehicles); - finBillApplicationDto.setArrearsMoney("0"); - finBillApplicationDto.setApplyDate(DateUtil.today()); - finBillApplicationDto.setOrgSidPath(busDeliveredApply.getOrgSidPath()); - ResultBean finBillResult = finBillApplicationFeign.save(finBillApplicationDto); - //====================推送开票结束 - //推送优惠包待准备开始 - //查询该是否有优惠包信息 - List discountList = busDeliveredDetailsDiscountService.selectByApplySid(busDeliveredApply.getSid()); - BusDiscountpackageHandoverDto busDiscountpackageHandoverDto = new BusDiscountpackageHandoverDto(); - //合同编号 - busDiscountpackageHandoverDto.setContractNo(busDeliveredApply.getContractNo()); - //车型名称 - busDiscountpackageHandoverDto.setVehModel(busDeliveredApply.getModelName()); - //出库台数 - busDiscountpackageHandoverDto.setVehCount(String.valueOf(detailsList.size())); - List vinList = detailsList.stream().map(v -> v.getVinNo()).collect(Collectors.toList()); - String vins = String.join(",", vinList); - busDiscountpackageHandoverDto.setVinNo(vins); - busDiscountpackageHandoverDto.setRecUserSid(busDeliveredApply.getApplySid()); - busDiscountpackageHandoverDto.setCustomerName(busDeliveredApply.getName()); - busDiscountpackageHandoverDto.setRecName(busDeliveredApply.getApplyName()); - busDiscountpackageHandoverDto.setRecTime(new Date()); - busDiscountpackageHandoverDto.setCreateBySid(busDeliveredApply.getApplySid()); - //根据用户sid查询电话 - ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getApplySid()); - if (sysUserVoResultBean.getData() != null) { - busDiscountpackageHandoverDto.setRecPhone(sysUserVoResultBean.getData().getMobile()); - } - busDiscountpackageHandoverDto.setBusSid(busDeliveredApply.getSid()); - busDiscountpackageHandoverDto.setCreateOrgSid(busDeliveredApply.getUseOrgSid()); - busDiscountpackageHandoverDto.setUseOrgSid(busDeliveredApply.getUseOrgSid()); - ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid()); - if (sysOrganizationVoResultBean.getData() != null) { - busDiscountpackageHandoverDto.setCreateOrgName(sysOrganizationVoResultBean.getData().getName()); - busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); - } - List busDiscountpackageHandoverLists = new ArrayList<>(); - discountList.removeAll(Collections.singleton(null)); - if (!discountList.isEmpty()) { - for (int i = 0; i < discountList.size(); i++) { - BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountList.get(i); - BusDiscountpackageHandoverListDto busDiscountpackageHandoverListDto = new BusDiscountpackageHandoverListDto(); - busDiscountpackageHandoverListDto.setPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice())); - busDiscountpackageHandoverListDto.setNumber(String.valueOf(busDeliveredDetailsDiscount.getGiveNum())); - busDiscountpackageHandoverListDto.setDiscountName(busDeliveredDetailsDiscount.getName()); - busDiscountpackageHandoverListDto.setPackageExplain(busDeliveredDetailsDiscount.getDiscountExplain()); - busDiscountpackageHandoverListDto.setRemarks(busDeliveredDetailsDiscount.getRemarks()); - busDiscountpackageHandoverListDto.setTotalPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum()))); - busDiscountpackageHandoverLists.add(busDiscountpackageHandoverListDto); + + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(1, 2, + 1000, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + List detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid()); + ResultBean orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo()); + if (!orderDetailsVoResultBean.getSuccess()) { + log.error("获取销售订单详情出错啦!!!"); } + ResultBean userVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getStaffUserSid()); + Future future1 = pool.submit(() -> { + pushInvoice(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData()); + }); + Future future2 = pool.submit(() -> { + pushDiscountPackage(busDeliveredApply, detailsList); + }); + Future future3 = pool.submit(() -> { + pushOutApply(busDeliveredApply, detailsList, orderDetailsVoResultBean.getData(), userVoResultBean.getData()); + }); + } catch (Exception e) { + e.printStackTrace(); + log.error("推送数据失败=========================" + e.getMessage()); + return rb.setMsg("推送数据失败"); } - busDiscountpackageHandoverDto.setBusDiscountpackageHandoverLists(busDiscountpackageHandoverLists); - busDiscountpackageHandoverService.saveOrUpdateDto(busDiscountpackageHandoverDto); - //推送出库查询 - BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto = new BaseVehicleZSOutApplyDto(); - baseVehicleZSOutApplyDto.setCreateBySid(busDeliveredApply.getApplySid()); - baseVehicleZSOutApplyDto.setCreateByName(busDeliveredApply.getApplyName()); - if("1".equals(busDeliveredApply.getPaymentMethodKey())){ - baseVehicleZSOutApplyDto.setSaleTypeKey("001"); - baseVehicleZSOutApplyDto.setSaleTypeValue("全款车"); - }else{ - baseVehicleZSOutApplyDto.setSaleTypeKey("002"); - baseVehicleZSOutApplyDto.setSaleTypeValue("贷款车"); - } - baseVehicleZSOutApplyDto.setSaleDate(DateUtil.today()); - baseVehicleZSOutApplyDto.setOrgSid(busDeliveredApply.getStaffDeptSid()); - baseVehicleZSOutApplyDto.setOrgName(busDeliveredApply.getStaffDeptName()); - baseVehicleZSOutApplyDto.setStaffSid(userVoResultBean.getData().getStaffSid()); - baseVehicleZSOutApplyDto.setStaffName(busDeliveredApply.getStaffName()); - baseVehicleZSOutApplyDto.setCustomerName(busDeliveredApply.getName()); - baseVehicleZSOutApplyDto.setMobile(busDeliveredApply.getMobile()); - baseVehicleZSOutApplyDto.setCustomerSid(busDeliveredApply.getCustomerSid()); - //总成交价 - baseVehicleZSOutApplyDto.setTotalDealPrice(new BigDecimal(busDeliveredApply.getPrice()).multiply(new BigDecimal(detailsList.size())).toString()); - baseVehicleZSOutApplyDto.setCreateOrgSid(busDeliveredApply.getUseOrgSid()); - ResultBean organizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid()); - if (organizationVoResultBean.getData() != null) { - baseVehicleZSOutApplyDto.setCreateOrgName(organizationVoResultBean.getData().getName()); - } - //内部引荐人姓名 - if (orderDetailsVoResultBean.getData() != null) { - baseVehicleZSOutApplyDto.setInnerUserSid(orderDetailsVoResultBean.getData().getRecommenderUserSid()); - baseVehicleZSOutApplyDto.setInnerName(orderDetailsVoResultBean.getData().getRecommender()); - } - //合同编号 - baseVehicleZSOutApplyDto.setContractNo(busDeliveredApply.getContractNo()); - //客户编码 - ResultBean crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busDeliveredApply.getCustomerSid()); - if (crmCustomerTempVoResultBean.getData() != null) { - baseVehicleZSOutApplyDto.setCustomerNo(crmCustomerTempVoResultBean.getData().getCustomerNo()); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + /** + * 出库办理后推送开票 + * + * @param busDeliveredApply + */ + public void pushInvoice(BusDeliveredApply busDeliveredApply, + List detailsList, + AppOrderDetailsVo appOrderDetailsVo, + SysUserVo sysUserVo) { + //推送开票申请======= + FinBillApplicationDto finBillApplicationDto = new FinBillApplicationDto(); + finBillApplicationDto.setUseOrgSid(busDeliveredApply.getUseOrgSid()); + finBillApplicationDto.setCreateBySid(busDeliveredApply.getApplySid()); + finBillApplicationDto.setCreateByName(busDeliveredApply.getApplyName()); + finBillApplicationDto.setContractNo(busDeliveredApply.getContractNo()); + if (appOrderDetailsVo != null) { + finBillApplicationDto.setCustomerSid(appOrderDetailsVo.getCustomerSid()); + //开票单位 + if (StringUtils.isNotBlank(appOrderDetailsVo.getPurchaseSystemSid())) { + ResultBean invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid()); + if (invoicingDetailsVoResultBean.getData() != null) { + finBillApplicationDto.setOpenTickUnitName(invoicingDetailsVoResultBean.getData().getName()); } - //实际购车人key - baseVehicleZSOutApplyDto.setBuyerTypeKey(busDeliveredApply.getTypeKey()); - baseVehicleZSOutApplyDto.setBuyerTypeValue(busDeliveredApply.getType()); - baseVehicleZSOutApplyDto.setBusSid(busDeliveredApply.getSid()); - List baseVehicleZSOutDtos = new ArrayList<>(); - for (int i = 0; i < detailsList.size(); i++) { - BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); - //主车 - BaseVehicleZSOutDto baseVehicleZSOutDto = new BaseVehicleZSOutDto(); - baseVehicleZSOutDto.setVinSid(busDeliveredApplyDetails.getVinSid()); - baseVehicleZSOutDto.setVinNo(busDeliveredApplyDetails.getVinNo()); - baseVehicleZSOutDto.setPrice(busDeliveredApply.getPrice()); - //赠品价值 - baseVehicleZSOutDto.setGiftsDescription(busDeliveredApplyDetails.getDiscountAll()); - baseVehicleZSOutDto.setSalesAllowance(busDeliveredApplyDetails.getSingleCarDiscountPrice()); - //中介人 - baseVehicleZSOutDto.setMiddleOne(busDeliveredApply.getDistributorName()); - if (orderDetailsVoResultBean.getData() != null) { - if (orderDetailsVoResultBean.getData().getIntermediary1() != null) { - baseVehicleZSOutDto.setMiddleOneSid(orderDetailsVoResultBean.getData().getIntermediary1().getIntermediarySid()); - ResultBean resultBean1 = baseMiddlemanFeign.fetchDetailsBySid(baseVehicleZSOutDto.getMiddleOneSid()); - if(resultBean1.getData() != null){ - baseVehicleZSOutDto.setMiddleCodeOne(resultBean1.getData().getMiddleCode()); - } + } + } + finBillApplicationDto.setCustomerName(busDeliveredApply.getName()); + finBillApplicationDto.setDeptSid(busDeliveredApply.getApplyDeptSid()); + finBillApplicationDto.setDeptName(busDeliveredApply.getApplyDept()); + finBillApplicationDto.setModelName(busDeliveredApply.getModelName()); + finBillApplicationDto.setModelSid(busDeliveredApply.getModelSid()); + if (sysUserVo != null) { + finBillApplicationDto.setStaffSid(sysUserVo.getStaffSid()); + } + finBillApplicationDto.setStaffName(busDeliveredApply.getStaffName()); + finBillApplicationDto.setSaleDeptSid(busDeliveredApply.getStaffDeptSid()); + finBillApplicationDto.setSaleDeptName(busDeliveredApply.getStaffDeptName()); + finBillApplicationDto.setSaleTypeKey(busDeliveredApply.getPaymentMethodKey()); + finBillApplicationDto.setSaleTypeValue(busDeliveredApply.getPaymentMethod()); + finBillApplicationDto.setBillStateKey("001"); + finBillApplicationDto.setBillStateValue("正常开票"); + List finBillVehicles = new ArrayList<>(); + for (int i = 0; i < detailsList.size(); i++) { + FinBillVehicleDto finBillVehicleDto = new FinBillVehicleDto(); + BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); + finBillVehicleDto.setVinNo(busDeliveredApplyDetails.getVinNo()); + finBillVehicleDto.setVehSid(busDeliveredApplyDetails.getVinSid()); + //合格证状态 + BaseVehicleCertificateVo baseVehicleCertificate = baseVehicleCertificateFeign.selStateByVehicleSid(busDeliveredApplyDetails.getVinSid()).getData(); + if (baseVehicleCertificate != null) { + finBillVehicleDto.setCertificateStateKey(baseVehicleCertificate.getCertificateState()); + finBillVehicleDto.setCertificateStateValue(baseVehicleCertificate.getCertificateSituationValue()); + } + finBillVehicles.add(finBillVehicleDto); + } + finBillApplicationDto.setFinBillVehicles(finBillVehicles); + finBillApplicationDto.setArrearsMoney("0"); + finBillApplicationDto.setApplyDate(DateUtil.today()); + finBillApplicationDto.setOrgSidPath(busDeliveredApply.getOrgSidPath()); + ResultBean finBillResult = finBillApplicationFeign.save(finBillApplicationDto); + //====================推送开票结束 + } - } - if (orderDetailsVoResultBean.getData().getIntermediary2() != null) { - baseVehicleZSOutDto.setMiddleTwoSid(orderDetailsVoResultBean.getData().getIntermediary2().getIntermediarySid()); - ResultBean resultBean1 = baseMiddlemanFeign.fetchDetailsBySid(baseVehicleZSOutDto.getMiddleTwoSid()); - if(resultBean1.getData() != null){ - baseVehicleZSOutDto.setMiddleCodeTwo(resultBean1.getData().getMiddleCode()); - } - } + /** + * 出库办理后推送优惠包待准备 + * + * @param busDeliveredApply + * @param detailsList + */ + public void pushDiscountPackage(BusDeliveredApply busDeliveredApply, List detailsList) { + //推送优惠包待准备开始 + //查询该是否有优惠包信息 + List discountList = busDeliveredDetailsDiscountService.selectByApplySid(busDeliveredApply.getSid()); + BusDiscountpackageHandoverDto busDiscountpackageHandoverDto = new BusDiscountpackageHandoverDto(); + //合同编号 + busDiscountpackageHandoverDto.setContractNo(busDeliveredApply.getContractNo()); + //车型名称 + busDiscountpackageHandoverDto.setVehModel(busDeliveredApply.getModelName()); + //出库台数 + busDiscountpackageHandoverDto.setVehCount(String.valueOf(detailsList.size())); + List vinList = detailsList.stream().map(v -> v.getVinNo()).collect(Collectors.toList()); + String vins = String.join(",", vinList); + busDiscountpackageHandoverDto.setVinNo(vins); + busDiscountpackageHandoverDto.setRecUserSid(busDeliveredApply.getApplySid()); + busDiscountpackageHandoverDto.setCustomerName(busDeliveredApply.getName()); + busDiscountpackageHandoverDto.setRecName(busDeliveredApply.getApplyName()); + busDiscountpackageHandoverDto.setRecTime(new Date()); + busDiscountpackageHandoverDto.setCreateBySid(busDeliveredApply.getApplySid()); + //根据用户sid查询电话 + ResultBean sysUserVoResultBean = sysUserFeign.fetchBySid(busDeliveredApply.getApplySid()); + if (sysUserVoResultBean.getData() != null) { + busDiscountpackageHandoverDto.setRecPhone(sysUserVoResultBean.getData().getMobile()); + } + busDiscountpackageHandoverDto.setBusSid(busDeliveredApply.getSid()); + busDiscountpackageHandoverDto.setCreateOrgSid(busDeliveredApply.getUseOrgSid()); + busDiscountpackageHandoverDto.setUseOrgSid(busDeliveredApply.getUseOrgSid()); + ResultBean sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid()); + if (sysOrganizationVoResultBean.getData() != null) { + busDiscountpackageHandoverDto.setCreateOrgName(sysOrganizationVoResultBean.getData().getName()); + busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName()); + } + List busDiscountpackageHandoverLists = new ArrayList<>(); + discountList.removeAll(Collections.singleton(null)); + if (!discountList.isEmpty()) { + for (int i = 0; i < discountList.size(); i++) { + BusDeliveredDetailsDiscount busDeliveredDetailsDiscount = discountList.get(i); + BusDiscountpackageHandoverListDto busDiscountpackageHandoverListDto = new BusDiscountpackageHandoverListDto(); + busDiscountpackageHandoverListDto.setPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice())); + busDiscountpackageHandoverListDto.setNumber(String.valueOf(busDeliveredDetailsDiscount.getGiveNum())); + busDiscountpackageHandoverListDto.setDiscountName(busDeliveredDetailsDiscount.getName()); + busDiscountpackageHandoverListDto.setPackageExplain(busDeliveredDetailsDiscount.getDiscountExplain()); + busDiscountpackageHandoverListDto.setRemarks(busDeliveredDetailsDiscount.getRemarks()); + busDiscountpackageHandoverListDto.setTotalPrice(new BigDecimal(busDeliveredDetailsDiscount.getPrice()).multiply(new BigDecimal(busDeliveredDetailsDiscount.getGiveNum()))); + busDiscountpackageHandoverLists.add(busDiscountpackageHandoverListDto); + } + } + busDiscountpackageHandoverDto.setBusDiscountpackageHandoverLists(busDiscountpackageHandoverLists); + busDiscountpackageHandoverService.saveOrUpdateDto(busDiscountpackageHandoverDto); + } + + /** + * 出库办理后推送出库查询 + * + * @param busDeliveredApply + * @param detailsList + */ + public void pushOutApply(BusDeliveredApply busDeliveredApply, + List detailsList, + AppOrderDetailsVo appOrderDetailsVo, + SysUserVo sysUserVo) { + //推送出库查询 + BaseVehicleZSOutApplyDto baseVehicleZSOutApplyDto = new BaseVehicleZSOutApplyDto(); + baseVehicleZSOutApplyDto.setCreateBySid(busDeliveredApply.getApplySid()); + baseVehicleZSOutApplyDto.setCreateByName(busDeliveredApply.getApplyName()); + if ("1".equals(busDeliveredApply.getPaymentMethodKey())) { + baseVehicleZSOutApplyDto.setSaleTypeKey("001"); + baseVehicleZSOutApplyDto.setSaleTypeValue("全款车"); + } else { + baseVehicleZSOutApplyDto.setSaleTypeKey("002"); + baseVehicleZSOutApplyDto.setSaleTypeValue("贷款车"); + } + baseVehicleZSOutApplyDto.setSaleDate(DateUtil.today()); + baseVehicleZSOutApplyDto.setOrgSid(busDeliveredApply.getStaffDeptSid()); + baseVehicleZSOutApplyDto.setOrgName(busDeliveredApply.getStaffDeptName()); + if (sysUserVo != null) { + baseVehicleZSOutApplyDto.setStaffSid(sysUserVo.getStaffSid()); + } + + baseVehicleZSOutApplyDto.setStaffName(busDeliveredApply.getStaffName()); + baseVehicleZSOutApplyDto.setCustomerName(busDeliveredApply.getName()); + baseVehicleZSOutApplyDto.setMobile(busDeliveredApply.getMobile()); + baseVehicleZSOutApplyDto.setCustomerSid(busDeliveredApply.getCustomerSid()); + //总成交价 + baseVehicleZSOutApplyDto.setTotalDealPrice(new BigDecimal(busDeliveredApply.getPrice()).multiply(new BigDecimal(detailsList.size())).toString()); + baseVehicleZSOutApplyDto.setCreateOrgSid(busDeliveredApply.getUseOrgSid()); + ResultBean organizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid()); + if (organizationVoResultBean.getData() != null) { + baseVehicleZSOutApplyDto.setCreateOrgName(organizationVoResultBean.getData().getName()); + } + //内部引荐人姓名 + if (appOrderDetailsVo != null) { + baseVehicleZSOutApplyDto.setInnerUserSid(appOrderDetailsVo.getRecommenderUserSid()); + baseVehicleZSOutApplyDto.setInnerName(appOrderDetailsVo.getRecommender()); + } + //合同编号 + baseVehicleZSOutApplyDto.setContractNo(busDeliveredApply.getContractNo()); + //客户编码 + ResultBean crmCustomerTempVoResultBean = crmCustomerTempFeign.fetchSid(busDeliveredApply.getCustomerSid()); + if (crmCustomerTempVoResultBean.getData() != null) { + baseVehicleZSOutApplyDto.setCustomerNo(crmCustomerTempVoResultBean.getData().getCustomerNo()); + } + //实际购车人key + baseVehicleZSOutApplyDto.setBuyerTypeKey(busDeliveredApply.getTypeKey()); + baseVehicleZSOutApplyDto.setBuyerTypeValue(busDeliveredApply.getType()); + baseVehicleZSOutApplyDto.setBusSid(busDeliveredApply.getSid()); + List baseVehicleZSOutDtos = new ArrayList<>(); + for (int i = 0; i < detailsList.size(); i++) { + BusDeliveredApplyDetails busDeliveredApplyDetails = detailsList.get(i); + //主车 + BaseVehicleZSOutDto baseVehicleZSOutDto = new BaseVehicleZSOutDto(); + baseVehicleZSOutDto.setVinSid(busDeliveredApplyDetails.getVinSid()); + baseVehicleZSOutDto.setVinNo(busDeliveredApplyDetails.getVinNo()); + baseVehicleZSOutDto.setPrice(busDeliveredApply.getPrice()); + //赠品价值 + baseVehicleZSOutDto.setGiftsDescription(busDeliveredApplyDetails.getDiscountAll()); + baseVehicleZSOutDto.setSalesAllowance(busDeliveredApplyDetails.getSingleCarDiscountPrice()); + //中介人 + baseVehicleZSOutDto.setMiddleOne(busDeliveredApply.getDistributorName()); + if (appOrderDetailsVo != null) { + if (appOrderDetailsVo.getIntermediary1() != null) { + baseVehicleZSOutDto.setMiddleOneSid(appOrderDetailsVo.getIntermediary1().getIntermediarySid()); + ResultBean resultBean1 = baseMiddlemanFeign.fetchDetailsBySid(baseVehicleZSOutDto.getMiddleOneSid()); + if (resultBean1.getData() != null) { + baseVehicleZSOutDto.setMiddleCodeOne(resultBean1.getData().getMiddleCode()); } - baseVehicleZSOutDto.setRebateMoneyOne(busDeliveredApply.getDistributorPrice()); - baseVehicleZSOutDto.setMiddleTwo(busDeliveredApply.getDistributorNameTwo()); - baseVehicleZSOutDto.setRebateMoneyTwo(busDeliveredApply.getDistributorPriceTwo()); - baseVehicleZSOutDto.setRemarks(busDeliveredApplyDetails.getRemarks()); - ResultBean vehicleResultBean = baseVehicleFeign.details(baseVehicleZSOutDto.getVinSid()); - if(vehicleResultBean.getData() != null){ - BaseVehicleSelectVo baseVehicleSelectVo = vehicleResultBean.getData(); - baseVehicleZSOutDto.setManPurOrderTypeKey(baseVehicleSelectVo.getManPurOrderTypeKey()); - baseVehicleZSOutDto.setManPurOrderTypeValue(baseVehicleSelectVo.getManPurOrderTypeValue()); + + } + if (appOrderDetailsVo.getIntermediary2() != null) { + baseVehicleZSOutDto.setMiddleTwoSid(appOrderDetailsVo.getIntermediary2().getIntermediarySid()); + ResultBean resultBean1 = baseMiddlemanFeign.fetchDetailsBySid(baseVehicleZSOutDto.getMiddleTwoSid()); + if (resultBean1.getData() != null) { + baseVehicleZSOutDto.setMiddleCodeTwo(resultBean1.getData().getMiddleCode()); } - baseVehicleZSOutDto.setMaterialCode(busDeliveredApplyDetails.getVinNo()); - baseVehicleZSOutDto.setMaterialName("主车"); - baseVehicleZSOutDto.setMaterialSid(busDeliveredApplyDetails.getVinSid()); - baseVehicleZSOutDto.setMaterialTypeKey("001"); - baseVehicleZSOutDto.setMaterialTypeValue("主车"); - baseVehicleZSOutDtos.add(baseVehicleZSOutDto); } - baseVehicleZSOutApplyDto.setBaseVehicleZSOutDtos(baseVehicleZSOutDtos); - ResultBean vehicleZsOutResultBean = baseVehicleOutFeign.vehicleZSOut(baseVehicleZSOutApplyDto); - } - return rb.success().setData(resultBean.getData()); - } else { - return rb.setMsg("操作失败!提交的数据不一致"); + baseVehicleZSOutDto.setRebateMoneyOne(busDeliveredApply.getDistributorPrice()); + baseVehicleZSOutDto.setMiddleTwo(busDeliveredApply.getDistributorNameTwo()); + baseVehicleZSOutDto.setRebateMoneyTwo(busDeliveredApply.getDistributorPriceTwo()); + baseVehicleZSOutDto.setRemarks(busDeliveredApplyDetails.getRemarks()); + ResultBean vehicleResultBean = baseVehicleFeign.details(baseVehicleZSOutDto.getVinSid()); + if (vehicleResultBean.getData() != null) { + BaseVehicleSelectVo baseVehicleSelectVo = vehicleResultBean.getData(); + baseVehicleZSOutDto.setManPurOrderTypeKey(baseVehicleSelectVo.getManPurOrderTypeKey()); + baseVehicleZSOutDto.setManPurOrderTypeValue(baseVehicleSelectVo.getManPurOrderTypeValue()); + } + baseVehicleZSOutDto.setMaterialCode(busDeliveredApplyDetails.getVinNo()); + baseVehicleZSOutDto.setMaterialName("主车"); + baseVehicleZSOutDto.setMaterialSid(busDeliveredApplyDetails.getVinSid()); + baseVehicleZSOutDto.setMaterialTypeKey("001"); + baseVehicleZSOutDto.setMaterialTypeValue("主车"); + baseVehicleZSOutDtos.add(baseVehicleZSOutDto); } + baseVehicleZSOutApplyDto.setBaseVehicleZSOutDtos(baseVehicleZSOutDtos); + ResultBean vehicleZsOutResultBean = baseVehicleOutFeign.vehicleZSOut(baseVehicleZSOutApplyDto); + } @@ -1474,7 +1530,7 @@ public class BusDeliveredApplyService extends MybatisBaseService