Browse Source

Merge remote-tracking branch 'origin/master'

master
yunuo970428 2 years ago
parent
commit
43b38abf97
  1. 450
      anrui-buscenter/anrui-buscenter-biz/src/main/java/com/yxt/anrui/buscenter/biz/busdeliveredapply/BusDeliveredApplyService.java

450
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<BusDeliveredApp
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
baseMapper.updateStateBySid(3, bv.getBusinessSid());
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
//推送开票申请=======
List<BusDeliveredApplyDetails> 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<AppOrderDetailsVo> 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<SysUserVo> 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<FinCompanyInvoicingDetailsVo> invoicingDetailsVoResultBean = finCompanyInvoicingFeign.getDetailsByUseOrgAndSystem(appOrderDetailsVo.getUseOrgSid(), appOrderDetailsVo.getPurchaseSystemSid());
if (invoicingDetailsVoResultBean.getData() != null) {
finBillApplicationDto.setOpenTickUnitName(invoicingDetailsVoResultBean.getData().getName());
}
}
finBillApplicationDto.setBillStateKey("001");
finBillApplicationDto.setBillStateValue("正常开票");
List<FinBillVehicleDto> 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<BusDeliveredDetailsDiscount> discountList = busDeliveredDetailsDiscountService.selectByApplySid(busDeliveredApply.getSid());
BusDiscountpackageHandoverDto busDiscountpackageHandoverDto = new BusDiscountpackageHandoverDto();
//合同编号
busDiscountpackageHandoverDto.setContractNo(busDeliveredApply.getContractNo());
//车型名称
busDiscountpackageHandoverDto.setVehModel(busDeliveredApply.getModelName());
//出库台数
busDiscountpackageHandoverDto.setVehCount(String.valueOf(detailsList.size()));
List<String> 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<SysUserVo> 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<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDiscountpackageHandoverDto.setCreateOrgName(sysOrganizationVoResultBean.getData().getName());
busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
List<BusDiscountpackageHandoverListDto> 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<Runnable>(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy());
List<BusDeliveredApplyDetails> detailsList = busDeliveredApplyDetailsService.selectByApplySid(busDeliveredApply.getSid());
ResultBean<AppOrderDetailsVo> orderDetailsVoResultBean = busSalesOrderService.getSaleOrderDetailsByContractNo(busDeliveredApply.getContractNo());
if (!orderDetailsVoResultBean.getSuccess()) {
log.error("获取销售订单详情出错啦!!!");
}
ResultBean<SysUserVo> 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<SysOrganizationVo> 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<CrmCustomerTempVo> 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<BusDeliveredApplyDetails> 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<FinCompanyInvoicingDetailsVo> 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<BaseVehicleZSOutDto> 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<BaseMiddlemanDetailsVo> 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<FinBillVehicleDto> 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<BaseMiddlemanDetailsVo> resultBean1 = baseMiddlemanFeign.fetchDetailsBySid(baseVehicleZSOutDto.getMiddleTwoSid());
if(resultBean1.getData() != null){
baseVehicleZSOutDto.setMiddleCodeTwo(resultBean1.getData().getMiddleCode());
}
}
/**
* 出库办理后推送优惠包待准备
*
* @param busDeliveredApply
* @param detailsList
*/
public void pushDiscountPackage(BusDeliveredApply busDeliveredApply, List<BusDeliveredApplyDetails> detailsList) {
//推送优惠包待准备开始
//查询该是否有优惠包信息
List<BusDeliveredDetailsDiscount> discountList = busDeliveredDetailsDiscountService.selectByApplySid(busDeliveredApply.getSid());
BusDiscountpackageHandoverDto busDiscountpackageHandoverDto = new BusDiscountpackageHandoverDto();
//合同编号
busDiscountpackageHandoverDto.setContractNo(busDeliveredApply.getContractNo());
//车型名称
busDiscountpackageHandoverDto.setVehModel(busDeliveredApply.getModelName());
//出库台数
busDiscountpackageHandoverDto.setVehCount(String.valueOf(detailsList.size()));
List<String> 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<SysUserVo> 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<SysOrganizationVo> sysOrganizationVoResultBean = sysOrganizationFeign.fetchBySid(busDeliveredApply.getUseOrgSid());
if (sysOrganizationVoResultBean.getData() != null) {
busDiscountpackageHandoverDto.setCreateOrgName(sysOrganizationVoResultBean.getData().getName());
busDiscountpackageHandoverDto.setUseOrgName(sysOrganizationVoResultBean.getData().getName());
}
List<BusDiscountpackageHandoverListDto> 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<BusDeliveredApplyDetails> 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<SysOrganizationVo> 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<CrmCustomerTempVo> 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<BaseVehicleZSOutDto> 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<BaseMiddlemanDetailsVo> 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<BaseVehicleSelectVo> 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<BaseMiddlemanDetailsVo> 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<BaseVehicleSelectVo> 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<BusDeliveredApp
}
}
}
}else{
} else {
return rb.setMsg("请选择要出库的车辆");
}

Loading…
Cancel
Save