提交 46d73f9f authored 作者: 艾庆国's avatar 艾庆国

订单报价

上级 d55d2c42
......@@ -3,7 +3,9 @@ package com.clx.performance.service.impl.settle;
import cn.hutool.json.JSONUtil;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.config.MslPaymentConfig;
import com.clx.performance.constant.RedissonConstants;
......@@ -162,6 +164,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
@Autowired
private OrderChildBrokerMqHandlerServiceImpl orderChildBrokerMqHandlerService;
@Autowired
private OrderFeign orderFeign;
@Override
@Transactional(rollbackFor = Exception.class)
......@@ -1098,22 +1102,20 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
// 开票配置为否且当前关联公司为含税,按照含税计算
if (Objects.nonNull(settlementOwnerDetail.getInvoiceConfigType())
&& (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_INCLUDED.getCode()))) {
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
if (settlementOwnerDetail.getInvoicingCompanyId() != null) {
// 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
}
// 开票服务费
......
......@@ -5,6 +5,8 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
......@@ -101,6 +103,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Autowired
private InvoicingCompanyService invoicingCompanyService;
@Autowired
private OrderFeign orderFeign;
@Override
public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail) {
......@@ -149,6 +153,19 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
if (settlementOwnerDetail.getInvoicingCompanyId() != null) {
// 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
}
// 开票服务费
settlementOwnerDetail.setInvoiceServiceFee(
......@@ -157,24 +174,6 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
settlementOwnerDetail.setInvoiceFreight(
settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(),
orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail));
// 开票配置
Integer invoicingConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementOwnerDetail.setInvoiceConfigType(invoicingConfigType);
log.info("saveSettlementDetail invoicingConfigType:{}", invoicingConfigType);
// 若开票配置非空,且为是,则开票公司信息,开票标识为空(由后续封控系统处理)
if (Objects.nonNull(invoicingConfigType) && Objects.equals(invoicingConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 设置开票服务率
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
orderChild.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
}
// 结算金额
settlementOwnerDetail.setSettlementFreight(
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论