提交 67a12eba authored 作者: 艾庆国's avatar 艾庆国

Merge branch 'refs/heads/v30.6_order_quote_20241022' into test_jdk17

Former-commit-id: 6c32d224
...@@ -39,6 +39,7 @@ public class OrderChild implements HasKey<Integer> { ...@@ -39,6 +39,7 @@ public class OrderChild implements HasKey<Integer> {
private Integer goodsId; //货物id private Integer goodsId; //货物id
private String goodsName; //货物名称 private String goodsName; //货物名称
private BigDecimal freightPrice; //运费单价(分) private BigDecimal freightPrice; //运费单价(分)
private BigDecimal forecastFreightPrice; //预估运费单价(分)
private BigDecimal lossPrice; //损耗单价(分) private BigDecimal lossPrice; //损耗单价(分)
private BigDecimal orderFreightPrice; //订单运费单价(分) private BigDecimal orderFreightPrice; //订单运费单价(分)
......
...@@ -171,6 +171,8 @@ public class OrderGoods implements HasKey<Integer> { ...@@ -171,6 +171,8 @@ public class OrderGoods implements HasKey<Integer> {
@Schema(description="挂单运费") @Schema(description="挂单运费")
private BigDecimal pendingOrderFreight; private BigDecimal pendingOrderFreight;
private BigDecimal forecastOrderFreight; //预估运费单价(分)
@TableField("user_no") @TableField("user_no")
@Schema(description="创建人用户编号") @Schema(description="创建人用户编号")
private Long userNo; private Long userNo;
......
package com.clx.performance.service.broker; package com.clx.performance.service.broker;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods; import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriver; import com.clx.performance.model.settle.SettlementDriver;
...@@ -10,10 +9,9 @@ import com.clx.performance.model.settle.SettlementOwnerDetail; ...@@ -10,10 +9,9 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
public interface OrderChildBrokerService { public interface OrderChildBrokerService {
void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO); SettlementDriverDetail settlementDriverDetail);
void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver);
OwnerQuotationDetailVO quotationDetailVO);
void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail); void orderChildDriverPay(SettlementDriverDetail settlementDriverDetail);
......
...@@ -501,6 +501,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -501,6 +501,7 @@ public class OrderChildServiceImpl implements OrderChildService {
orderChild.setOrderNo(orderGoods.getOrderNo()); orderChild.setOrderNo(orderGoods.getOrderNo());
orderChild.setOrderGoodsNo(orderGoods.getOrderGoodsNo()); orderChild.setOrderGoodsNo(orderGoods.getOrderGoodsNo());
orderChild.setFreightPrice(orderGoods.getPendingOrderFreight()); orderChild.setFreightPrice(orderGoods.getPendingOrderFreight());
orderChild.setForecastFreightPrice(orderGoods.getForecastOrderFreight());
orderChild.setLossPrice(orderGoods.getLossPrice()); orderChild.setLossPrice(orderGoods.getLossPrice());
orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice()); orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice());
......
...@@ -122,17 +122,13 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -122,17 +122,13 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao SettlementDriverDetail settlementDriverDetail = settlementDriverDetailDao
.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 获取最新订单报价数据
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderChild.getOrderNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 更新状态 // 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode()); settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail); settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
try{ try{
// 同步broker // 同步broker
orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail, quotationDetailVO); orderChildBrokerService.orderChildSync(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
} catch (Exception e) { } catch (Exception e) {
log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("同步无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
...@@ -154,10 +150,6 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -154,10 +150,6 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
SettlementDriver settlementDriver = settlementDriverDao SettlementDriver settlementDriver = settlementDriverDao
.getByChildNo(orderChild.getChildNo()).orNull(); .getByChildNo(orderChild.getChildNo()).orNull();
// 获取最新订单报价数据
OwnerQuotationDetailVO quotationDetailVO = quotationService.getQuotationByOrderNo(orderChild.getOrderNo())
.orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){ if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){
return; return;
} }
...@@ -172,7 +164,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -172,7 +164,7 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
try{ try{
// 更新broker // 更新broker
orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail, orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver, quotationDetailVO); settlementDriverDetail, settlementDriver);
} catch (Exception e) { } catch (Exception e) {
log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e)); log.info("更新无车承运失败, child:{}, msg:{}", orderChild.getChildNo(), ExceptionUtils.getStackTrace(e));
} }
......
...@@ -6,7 +6,6 @@ import com.clx.order.feign.OrderFeign; ...@@ -6,7 +6,6 @@ import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
import com.clx.order.vo.feign.FeignOrderVO; import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO; import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildImageDao; import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao; import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PowerTypeEnum; import com.clx.performance.enums.PowerTypeEnum;
...@@ -69,20 +68,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -69,20 +68,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
@Override @Override
public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildSync(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, OwnerQuotationDetailVO quotationDetailVO) { SettlementDriverDetail settlementDriverDetail) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, null, quotationDetailVO); settlementDriverDetail, null);
brokerService.orderChildSync(transportParam); brokerService.orderChildSync(transportParam);
} }
@Override @Override
public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, public void orderChildUpdate(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver) {
OwnerQuotationDetailVO quotationDetailVO) {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail,
settlementDriverDetail, settlementDriver, quotationDetailVO); settlementDriverDetail, settlementDriver);
// 运单更新 // 运单更新
brokerService.orderChildUpdate(transportParam); brokerService.orderChildUpdate(transportParam);
...@@ -96,8 +94,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -96,8 +94,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
} }
private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail, private TransportParam buildParam(OrderChild orderChild, OrderGoods orderGoods, SettlementOwnerDetail settlementOwnerDetail,
SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver, SettlementDriverDetail settlementDriverDetail, SettlementDriver settlementDriver){
OwnerQuotationDetailVO quotationDetailVO){
String host = documentFeign.getHost().getData(); String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
...@@ -126,8 +123,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -126,8 +123,7 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
// 与承运平台约定默认设置0字符串 // 与承运平台约定默认设置0字符串
transportParam.setTransportPlatformCode(ZERO_STR); transportParam.setTransportPlatformCode(ZERO_STR);
// 若有开票配置,且开票配置为是,则使用开票配置的平台编码 // 若有开票配置,且开票配置为是,则使用开票配置的平台编码
if (Objects.nonNull(quotationDetailVO) && Objects.nonNull(quotationDetailVO.getInvoiceConfigType()) if (Objects.equals(settlementOwnerDetail.getInvoiceConfigType(), QuotationEnum.InvoicingConfigType.YES.getCode())) {
&& Objects.equals(quotationDetailVO.getInvoiceConfigType(), QuotationEnum.InvoicingConfigType.YES.getCode())) {
InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode()); InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode());
transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode()); transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode());
} }
...@@ -314,9 +310,9 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -314,9 +310,9 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSettleStatus(settlementDriver!=null orderChildInfo.setSettleStatus(settlementDriver!=null
&& Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0); && Objects.equals(settlementDriver.getStatus(), SettlementDriverEnum.Status.SETTLED.getCode())? 1 : 0);
// 开票票配置 // 开票票配置
orderChildInfo.setInvoiceNeed(quotationDetailVO.getInvoiceConfigType()); orderChildInfo.setInvoiceNeed(settlementOwnerDetail.getInvoiceConfigType());
// 预估运费单价 // 预估运费单价
orderChildInfo.setPredictFreightPrice(quotationDetailVO.getForecastFreightQuotation().intValue()); orderChildInfo.setPredictFreightPrice(orderChild.getForecastFreightPrice().intValue());
transportParam.setOrder(orderInfo); transportParam.setOrder(orderInfo);
transportParam.setOrderChildImage(imageList); transportParam.setOrderChildImage(imageList);
......
...@@ -1102,13 +1102,15 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic ...@@ -1102,13 +1102,15 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
OrderGoods orderGoods = orderGoodsDao OrderGoods orderGoods = orderGoodsDao
.getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); .getByOrderGoodsNo(orderChild.getOrderGoodsNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 开票服务率 // 开票配置
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO); settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo()); FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(), if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) { InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
if (settlementOwnerDetail.getInvoicingCompanyId() != null) { if (Objects.equals(settlementDriverDetail.getInvoiceConfigType(),
InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
// 查询开票公司 // 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany( InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
......
...@@ -151,13 +151,25 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -151,13 +151,25 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
//借款抵扣金额初始化 //借款抵扣金额初始化
settlementOwnerDetail.setLoanFreight(BigDecimal.ZERO); settlementOwnerDetail.setLoanFreight(BigDecimal.ZERO);
// 开票配置
Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementOwnerDetail.setInvoiceConfigType(invoiceConfigType);
// 开票服务率 // 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO); settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (orderChild.getInvoicingCompanyId() != null) {
FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo()); FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(), if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) { InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
if (settlementOwnerDetail.getInvoicingCompanyId() != null) { if (Objects.equals(settlementOwnerDetail.getInvoiceConfigType(), InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 查询开票公司 // 查询开票公司
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany( InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
...@@ -166,6 +178,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -166,6 +178,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate()); invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
} }
} }
}
// 开票服务费 // 开票服务费
settlementOwnerDetail.setInvoiceServiceFee( settlementOwnerDetail.setInvoiceServiceFee(
......
...@@ -136,6 +136,7 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial ...@@ -136,6 +136,7 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial
} }
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
...@@ -137,6 +137,7 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia ...@@ -137,6 +137,7 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
...@@ -134,6 +134,7 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In ...@@ -134,6 +134,7 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In
orderGoods.setPendingOrderTime(postedTime); orderGoods.setPendingOrderTime(postedTime);
orderGoods.setPendingOrderFreight(child.getPendingOrderFreight()); orderGoods.setPendingOrderFreight(child.getPendingOrderFreight());
orderGoods.setForecastOrderFreight(orderInfo.getValidForecastFreightQuotation());
orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get()); orderGoods.setLastArriveSendTime(DateUtils.parseDateTime(child.getLastArriveSendTime()).get());
//定向运单失效时间 //定向运单失效时间
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论