提交 000319c6 authored 作者: 马路路's avatar 马路路

Merge branch 'v30.6_order_quote_20241022' into release_jdk17

...@@ -227,4 +227,17 @@ public class RabbitSettlementConfig { ...@@ -227,4 +227,17 @@ public class RabbitSettlementConfig {
.with(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY); .with(RabbitKeySettlementConstants.SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY);
} }
/**
* 网络货运运单同步成功
*/
@Bean
public Queue settlementOrderChildBrokerSyncQueue() {
return new Queue(RabbitKeySettlementConstants.SETTLEMENT_ORDER_CHILD_BROKER_SYNC_QUEUE);
}
@Bean
public Binding settlementOrderChildBrokerSyncQueueBinding() {
return BindingBuilder.bind(settlementOrderChildBrokerSyncQueue()).to(settlementDefaultExchange())
.with(RabbitKeySettlementConstants.SETTLEMENT_ORDER_CHILD_BROKER_SYNC_ROUTING_KEY);
}
} }
...@@ -117,4 +117,10 @@ public class RabbitKeySettlementConstants { ...@@ -117,4 +117,10 @@ public class RabbitKeySettlementConstants {
public static final String SETTLEMENT_DRIVER_CONFIRM_QUEUE = PREFIX +"settlementDriver.confirm"+QUEUE; public static final String SETTLEMENT_DRIVER_CONFIRM_QUEUE = PREFIX +"settlementDriver.confirm"+QUEUE;
public static final String SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY = PREFIX +"settlementDriver.confirm"+QUEUE_ROUTING_KEY; public static final String SETTLEMENT_DRIVER_CONFIRM_ROUTING_KEY = PREFIX +"settlementDriver.confirm"+QUEUE_ROUTING_KEY;
/**
* 网络货运运单同步成功
*/
public static final String SETTLEMENT_ORDER_CHILD_BROKER_SYNC_QUEUE = PREFIX +"settlementOrderChildBroker.sync"+QUEUE;
public static final String SETTLEMENT_ORDER_CHILD_BROKER_SYNC_ROUTING_KEY = PREFIX +"settlementOrderChildBroker.sync"+QUEUE_ROUTING_KEY;
} }
...@@ -9,4 +9,6 @@ public interface InvoicingCompanyService { ...@@ -9,4 +9,6 @@ public interface InvoicingCompanyService {
InvoicingCompanyVO getInvoicingCompanyByGroupCode(String companyGroupCode); InvoicingCompanyVO getInvoicingCompanyByGroupCode(String companyGroupCode);
Integer getInvoicingConfigTypeByOrderNo(String orderNo);
} }
...@@ -29,4 +29,12 @@ public class InvoicingCompanyServiceImpl implements InvoicingCompanyService { ...@@ -29,4 +29,12 @@ public class InvoicingCompanyServiceImpl implements InvoicingCompanyService {
.map(Result::getData) .map(Result::getData)
.orNull(); .orNull();
} }
@Override
public Integer getInvoicingConfigTypeByOrderNo(String orderNo) {
return Optional.of(invoicingCompanyFeign.getInvoicingConfigTypeByOrderNo(orderNo))
.filter(Result::succeed)
.map(Result::getData)
.orNull();
}
} }
package com.clx.performance.listener.settle;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.TypeReference;
import com.clx.performance.common.MqWrapper;
import com.clx.performance.constant.RabbitKeySettlementConstants;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.vo.mq.settle.OrderChildBrokerSyncMqParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* @Author: 艾庆国
* @Description: 网络货运同步 mq
* @Date: 2023-10-20 11:45:08
* @Version: 1.0
*/
@Slf4j
@Component
public class SettlementOrderChildBrokerSyncListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_ORDER_CHILD_BROKER_SYNC_QUEUE)
public void process(Message message) {
try{
log.info("结算-网络货运同步, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()),
new TypeReference<MqWrapper<OrderChildBrokerSyncMqParam>>(){}).getData());
}catch (Exception e){
log.info("结算-网络货运同步 失败",e);
}
}
private void process(OrderChildBrokerSyncMqParam mq){
settlementMqHandlerService.settlementOrderChildBrokerSync(mq);
}
}
...@@ -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; //订单运费单价(分)
......
...@@ -169,6 +169,8 @@ public class OrderGoods implements HasKey<Integer> { ...@@ -169,6 +169,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;
......
...@@ -51,6 +51,7 @@ public class SettlementDriverDetail implements HasKey<Integer> { ...@@ -51,6 +51,7 @@ public class SettlementDriverDetail implements HasKey<Integer> {
private Integer invoicingCompanyId; //开票公司id private Integer invoicingCompanyId; //开票公司id
private String invoicingCompanyShorterName; //开票公司简称 private String invoicingCompanyShorterName; //开票公司简称
private String invoicingCompanyGroupCode; //开票公司统一社会信用代码 private String invoicingCompanyGroupCode; //开票公司统一社会信用代码
private Integer invoiceConfigType; //开票配置类型:0-否,1-是
private BigDecimal platformServiceFee; //平台服务费(分) private BigDecimal platformServiceFee; //平台服务费(分)
private BigDecimal platformServiceFeeRate; //平台服务费费率% private BigDecimal platformServiceFeeRate; //平台服务费费率%
private Integer payAcceptStatus; //支付受理状态:0未受理支付 1支付受理中 2已受理支付 private Integer payAcceptStatus; //支付受理状态:0未受理支付 1支付受理中 2已受理支付
......
...@@ -25,6 +25,7 @@ public class SettlementOrderChildRisk implements HasKey<Integer> { ...@@ -25,6 +25,7 @@ public class SettlementOrderChildRisk implements HasKey<Integer> {
private String driverMobile; // 司机手机号 private String driverMobile; // 司机手机号
private String goodsName; // 货物名称 private String goodsName; // 货物名称
private Integer invoiceType; // 开票标识:1网运单 2普通单 private Integer invoiceType; // 开票标识:1网运单 2普通单
private Integer invoiceConfigType; // 开票配置:0否 1是
private LocalDateTime poundAuditTime; // 磅单审核通过时间 private LocalDateTime poundAuditTime; // 磅单审核通过时间
private Integer riskType; // 风控标识:1同步失败 2结算打回 private Integer riskType; // 风控标识:1同步失败 2结算打回
private String riskRemark; // 风控失败原因 private String riskRemark; // 风控失败原因
......
...@@ -62,6 +62,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> { ...@@ -62,6 +62,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private Integer invoiceType; //开票标识:1网运单 2普通单 private Integer invoiceType; //开票标识:1网运单 2普通单
private BigDecimal invoiceServiceFee; //开票服务费(分) private BigDecimal invoiceServiceFee; //开票服务费(分)
private BigDecimal invoiceServiceFeeRate; //开票服务率 private BigDecimal invoiceServiceFeeRate; //开票服务率
private Integer invoiceConfigType; //开票配置类型:0-否,1-是
private Integer finalPaymentStatus; //尾款状态 0-否,1-是,2-无需支付 private Integer finalPaymentStatus; //尾款状态 0-否,1-是,2-无需支付
private Integer invoiceTypeStatus; // 开票标识状态:0未获取 1获取中 2获取成功 3获取失败 private Integer invoiceTypeStatus; // 开票标识状态:0未获取 1获取中 2获取成功 3获取失败
private Integer invoiceStatus; //开票状态 0-否,1-是,2-无需开票 private Integer invoiceStatus; //开票状态 0-否,1-是,2-无需开票
......
...@@ -497,6 +497,7 @@ public class OrderChildServiceImpl implements OrderChildService { ...@@ -497,6 +497,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(orderInfo.getValidForecastFreightQuotation());
orderChild.setLossPrice(orderGoods.getLossPrice()); orderChild.setLossPrice(orderGoods.getLossPrice());
orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice()); orderChild.setOrderFreightPrice(orderInfo.getValidFreightPrice());
......
package com.clx.performance.service.impl.broker; package com.clx.performance.service.impl.broker;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.InvoicingCompanyFeign;
import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.pc.owner.OwnerQuotationDetailVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao; import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.settle.SettlementDriverDao; import com.clx.performance.dao.settle.SettlementDriverDao;
...@@ -10,6 +15,7 @@ import com.clx.performance.enums.PerformanceResultEnum; ...@@ -10,6 +15,7 @@ import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementDriverDetailEnum; import com.clx.performance.enums.settle.SettlementDriverDetailEnum;
import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum; import com.clx.performance.enums.settle.SettlementOrderChildRiskEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum; import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.extranal.order.QuotationService;
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;
...@@ -19,6 +25,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail; ...@@ -19,6 +25,7 @@ import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService; import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService; import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService; import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam; import com.clx.performance.vo.mq.broker.BrokerOrderChildDriverPayMqParam;
import com.clx.performance.service.settle.SettlementPostService; import com.clx.performance.service.settle.SettlementPostService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam; import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
...@@ -57,6 +64,15 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -57,6 +64,15 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
@Autowired @Autowired
private SettlementPostService settlementPostService; private SettlementPostService settlementPostService;
@Autowired
private QuotationService quotationService;
@Autowired
private InvoicingCompanyFeign invoicingCompanyFeign;
@Autowired
private SettlementMqService settlementMqService;
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) { public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
...@@ -64,6 +80,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -64,6 +80,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
try{ try{
doOrderChildSync(mq); doOrderChildSync(mq);
settlementMqService.orderChildBrokerSync(mq.getChildNo());
}catch (Exception e){ }catch (Exception e){
log.info("无车承运-运单同步 失败,msg:{}", ExceptionUtils.getStackTrace(e)); log.info("无车承运-运单同步 失败,msg:{}", ExceptionUtils.getStackTrace(e));
...@@ -79,11 +97,18 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -79,11 +97,18 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
settlementOrderChildRisk.setDriverMobile(orderChild.getDriverMobile()); settlementOrderChildRisk.setDriverMobile(orderChild.getDriverMobile());
settlementOrderChildRisk.setGoodsName(orderChild.getGoodsName()); settlementOrderChildRisk.setGoodsName(orderChild.getGoodsName());
settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType()); settlementOrderChildRisk.setInvoiceType(settlementOwnerDetail.getInvoiceType());
// 如果有发票配置,则更新
if (Objects.nonNull(settlementOwnerDetail.getInvoiceConfigType())) {
settlementOrderChildRisk.setInvoiceConfigType(settlementOwnerDetail.getInvoiceConfigType());
}
settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime()); settlementOrderChildRisk.setPoundAuditTime(settlementOwnerDetail.getPoundAuditTime());
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode()); settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SETTLE_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark("同步无车承运异常"); settlementOrderChildRisk.setRiskRemark("同步无车承运异常");
// 若开票配置为是
if (this.invoiceConfigType(orderChild.getOrderNo())) {
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk); settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
log.info("当前运单的关联的订单开票配置为是,保存对应封控的信息入库");
}
settlementPostService.riskAdd(settlementOrderChildRisk.getId()); settlementPostService.riskAdd(settlementOrderChildRisk.getId());
} }
} }
...@@ -162,4 +187,19 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH ...@@ -162,4 +187,19 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
} }
/**
* 开票配置为是
*
* @param orderNo
* @return
*/
public boolean invoiceConfigType(String orderNo) {
// 调用开票配置接口
Integer invoiceConfigType = invoicingCompanyFeign.getInvoicingConfigTypeByOrderNo(orderNo).getData();
log.info("notInvoiceConfigType invoiceConfigType:{}", invoiceConfigType);
// 若开票配置为是
return Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType,
QuotationEnum.InvoicingConfigType.YES.getCode());
}
} }
package com.clx.performance.service.impl.broker; package com.clx.performance.service.impl.broker;
import com.clx.order.enums.QuotationEnum;
import com.clx.order.feign.AddressFeign; import com.clx.order.feign.AddressFeign;
import com.clx.order.feign.OrderFeign; import com.clx.order.feign.OrderFeign;
import com.clx.order.vo.feign.FeignAddressVO; import com.clx.order.vo.feign.FeignAddressVO;
...@@ -7,7 +8,6 @@ import com.clx.order.vo.feign.FeignOrderVO; ...@@ -7,7 +8,6 @@ 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.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.PerformanceResultEnum;
import com.clx.performance.enums.PowerTypeEnum; import com.clx.performance.enums.PowerTypeEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum; import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
...@@ -42,6 +42,7 @@ import java.util.Objects; ...@@ -42,6 +42,7 @@ import java.util.Objects;
@Service @Service
public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
private static final String LONG_TERM_TIME = "2099-01-01 00:00:00"; private static final String LONG_TERM_TIME = "2099-01-01 00:00:00";
private static final String ZERO_STR = "0";
@Autowired @Autowired
private BrokerService brokerService; private BrokerService brokerService;
...@@ -97,8 +98,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -97,8 +98,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
String host = documentFeign.getHost().getData(); String host = documentFeign.getHost().getData();
FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo()); FeignOrderVO orderInfoFeign = orderFeign.getOrderInfoFeign(orderGoods.getOrderNo());
OwnerInfoFeignVO ownerInfoFeign = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData();
//String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile(); //String ownerMobile = ownerFeign.getOwnerInfo(orderInfoFeign.getOwnerUserNo()).getData().getMobile();
String ownerMobile = String.valueOf(orderInfoFeign.getOwnerUserNo()); String ownerMobile = String.valueOf(orderInfoFeign.getOwnerUserNo());
String ownerName = ownerInfoFeign.getName();
FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData(); FeignAddressVO data = addressFeign.getSendAndReceiveAddress(orderChild.getSendAddressId(), orderChild.getReceiveAddressId()).getData();
FeignAddressVO.Address receiveAddress = data.getReceiveAddress(); FeignAddressVO.Address receiveAddress = data.getReceiveAddress();
...@@ -115,13 +118,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -115,13 +118,19 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfoWithTransport(orderChild.getTruckId()).getData(); TruckInfoFeignVo truckInfoFeignVo = truckFeign.getTruckInfoWithTransport(orderChild.getTruckId()).getData();
InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 参数组装 // 参数组装
TransportParam transportParam = new TransportParam(); TransportParam transportParam = new TransportParam();
// 与承运平台约定默认设置0字符串
transportParam.setTransportPlatformCode(ZERO_STR);
// 若有开票配置,且开票配置为是,则使用开票配置的平台编码
if (Objects.equals(settlementOwnerDetail.getInvoiceConfigType(), QuotationEnum.InvoicingConfigType.YES.getCode())) {
InvoicingCompanyVO invoicingCompanyByGroupCode = invoicingCompanyService.getInvoicingCompanyByGroupCode(orderChild.getInvoicingCompanyGroupCode());
transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode()); transportParam.setTransportPlatformCode(invoicingCompanyByGroupCode.getNetworkCargoCompanyCode());
}
transportParam.setOrderCode(orderChild.getChildNo()); transportParam.setOrderCode(orderChild.getChildNo());
transportParam.setOwnerMobile(ownerMobile); transportParam.setOwnerMobile(ownerMobile);
transportParam.setOwnerName(ownerName);
// 货单 // 货单
OpenOrderDTO orderInfo = new OpenOrderDTO(); OpenOrderDTO orderInfo = new OpenOrderDTO();
...@@ -300,6 +309,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService { ...@@ -300,6 +309,10 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())? 1 : 0); SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())? 1 : 0);
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(settlementOwnerDetail.getInvoiceConfigType());
// 预估运费单价
orderChildInfo.setPredictFreightPrice(orderChild.getForecastFreightPrice().intValue());
transportParam.setOrder(orderInfo); transportParam.setOrder(orderInfo);
transportParam.setOrderChildImage(imageList); transportParam.setOrderChildImage(imageList);
......
...@@ -2,10 +2,14 @@ package com.clx.performance.service.impl.settle; ...@@ -2,10 +2,14 @@ package com.clx.performance.service.impl.settle;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum;
import com.clx.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.loan.OwnerLoanRecordEnum; import com.clx.performance.enums.loan.OwnerLoanRecordEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum; import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum; import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.clx.performance.model.OrderChild; import com.clx.performance.model.OrderChild;
import com.clx.performance.model.settle.SettlementDriverDetail; import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverDetailParam; import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverDetailParam;
...@@ -41,6 +45,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -41,6 +45,7 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
private final SettlementDriverDetailDao settlementDriverDetailDao; private final SettlementDriverDetailDao settlementDriverDetailDao;
private final SettlementDriverDetailStruct settlementOwnerDetailStruct; private final SettlementDriverDetailStruct settlementOwnerDetailStruct;
private final InvoicingCompanyService invoicingCompanyService;
@Override @Override
public SettlementDriverDetail saveSettlementDetail(OrderChild orderChild) { public SettlementDriverDetail saveSettlementDetail(OrderChild orderChild) {
...@@ -73,10 +78,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -73,10 +78,6 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
// 结算金额 // 结算金额
settlementDriverDetail.setSettlementFreight(settlementFreightCalc(settlementDriverDetail.getFreight(), settlementDriverDetail.getLossFreight())); settlementDriverDetail.setSettlementFreight(settlementFreightCalc(settlementDriverDetail.getFreight(), settlementDriverDetail.getLossFreight()));
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
// 平台服务费: 司机结算金额*平台服务费费率 // 平台服务费: 司机结算金额*平台服务费费率
settlementDriverDetail.setPlatformServiceFeeRate(orderChild.getPlatformServiceFeeRate()==null settlementDriverDetail.setPlatformServiceFeeRate(orderChild.getPlatformServiceFeeRate()==null
? BigDecimal.ZERO ? BigDecimal.ZERO
...@@ -85,6 +86,16 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -85,6 +86,16 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
? BigDecimal.ZERO ? BigDecimal.ZERO
: orderChild.getPlatformServiceFee()); : orderChild.getPlatformServiceFee());
// 开票配置
Integer invoiceConfigType = invoicingCompanyService.getInvoicingConfigTypeByOrderNo(orderChild.getOrderNo());
settlementDriverDetail.setInvoiceConfigType(invoiceConfigType);
if (Objects.nonNull(invoiceConfigType) && Objects.equals(invoiceConfigType, InvoicingCompanyEnum.YesAndNo.YES.getCode())) {
//设置开票公司信息
settlementDriverDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(orderChild.getInvoicingCompanyGroupCode());
}
settlementDriverDetailDao.saveEntity(settlementDriverDetail); settlementDriverDetailDao.saveEntity(settlementDriverDetail);
return settlementDriverDetail; return settlementDriverDetail;
...@@ -154,21 +165,22 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -154,21 +165,22 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
fieldList.add(new ExcelField(4, "车主名称", "driverName", 5000)); fieldList.add(new ExcelField(4, "车主名称", "driverName", 5000));
fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000)); fieldList.add(new ExcelField(5, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(6, "车牌号", "truckNo", 5000)); fieldList.add(new ExcelField(6, "车牌号", "truckNo", 5000));
fieldList.add(new ExcelField(7, "开票公司", "invoicingCompanyShorterName", 5000)); fieldList.add(new ExcelField(7, "开票配置", "invoicingConfigType", 5000));
fieldList.add(new ExcelField(8, "开票标识", "invoiceType", 5000)); fieldList.add(new ExcelField(8, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(9, "预付标识", "prepayFreightFlag", 5000)); fieldList.add(new ExcelField(9, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(10, "借款标识", "loanFlagMsg", 5000)); fieldList.add(new ExcelField(10, "借款标识", "loanFlagMsg", 5000));
fieldList.add(new ExcelField(11, "实际净重(吨)", "weight", 5000)); fieldList.add(new ExcelField(11, "预付标识", "prepayFreightFlag", 5000));
fieldList.add(new ExcelField(12, "运费单价", "freightPrice", 5000)); fieldList.add(new ExcelField(12, "实际净重(吨)", "weight", 5000));
fieldList.add(new ExcelField(13, "应付运费", "freight", 5000)); fieldList.add(new ExcelField(13, "运费单价", "freightPrice", 5000));
fieldList.add(new ExcelField(14, "货损单价", "lossPrice", 5000)); fieldList.add(new ExcelField(14, "应付运费", "freight", 5000));
fieldList.add(new ExcelField(15, "货损吨数", "lossWeight", 5000)); fieldList.add(new ExcelField(15, "货损单价", "lossPrice", 5000));
fieldList.add(new ExcelField(16, "货损金额", "lossFreight", 5000)); fieldList.add(new ExcelField(16, "货损吨数", "lossWeight", 5000));
fieldList.add(new ExcelField(17, "结算金额", "settlementFreight", 5000)); fieldList.add(new ExcelField(17, "货损金额", "lossFreight", 5000));
fieldList.add(new ExcelField(18, "毛利率", "platformServiceFeeRate", 5000)); fieldList.add(new ExcelField(18, "结算金额", "settlementFreight", 5000));
fieldList.add(new ExcelField(19, "毛利润", "platformServiceFee", 5000)); fieldList.add(new ExcelField(19, "毛利率", "platformServiceFeeRate", 5000));
fieldList.add(new ExcelField(20, "结算单号", "settlementNo", 5000)); fieldList.add(new ExcelField(20, "毛利润", "platformServiceFee", 5000));
fieldList.add(new ExcelField(21, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(21, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(22, "创建时间", "createTime", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -185,6 +197,8 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai ...@@ -185,6 +197,8 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
rowData.add(new ExcelData(dto.getDriverName())); rowData.add(new ExcelData(dto.getDriverName()));
rowData.add(new ExcelData(dto.getGoodsName())); rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getTruckNo())); rowData.add(new ExcelData(dto.getTruckNo()));
// 开票配置
rowData.add(new ExcelData(dto.getInvoiceConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoiceConfigType())));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType()))); rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag()))); rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag())));
......
...@@ -161,6 +161,18 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -161,6 +161,18 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void riskProcess(String childNo) {
SettlementOrderChildRiskProcessMqParam mq = new SettlementOrderChildRiskProcessMqParam();
mq.setChildNo(childNo);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
@Override @Override
public void updateInvoiceCompany(Integer id) { public void updateInvoiceCompany(Integer id) {
SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq = new SettlementOwnerDetialInvoiceCompanyUpdateMqParam(); SettlementOwnerDetialInvoiceCompanyUpdateMqParam mq = new SettlementOwnerDetialInvoiceCompanyUpdateMqParam();
...@@ -209,4 +221,16 @@ public class SettlementMqServiceImpl implements SettlementMqService { ...@@ -209,4 +221,16 @@ public class SettlementMqServiceImpl implements SettlementMqService {
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message); RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
} }
@Override
public void orderChildBrokerSync(String childNo) {
OrderChildBrokerSyncMqParam mq = new OrderChildBrokerSyncMqParam();
mq.setChildNo(childNo);
MqDelay delay = new MqDelay<>(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.SETTLEMENT_ORDER_CHILD_BROKER_SYNC_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeySettlementConstants.DEFAULT_EXCHANGE,
RabbitKeySettlementConstants.DEFAULT_DELAY_ROUTING_KEY, message);
}
} }
...@@ -144,14 +144,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -144,14 +144,15 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
fieldList.add(new ExcelField(3, "司机联系电话", "driverMobile", 5000)); fieldList.add(new ExcelField(3, "司机联系电话", "driverMobile", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000)); fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "开票标识", "invoiceType", 5000)); fieldList.add(new ExcelField(5, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(6, "风控标识", "riskType", 5000)); fieldList.add(new ExcelField(6, "开票配置", "invoiceConfigType", 5000));
fieldList.add(new ExcelField(7, "风控失败原因", "riskRemark", 5000)); fieldList.add(new ExcelField(7, "风控标识", "riskType", 5000));
fieldList.add(new ExcelField(8, "处理状态", "status", 5000)); fieldList.add(new ExcelField(8, "风控失败原因", "riskRemark", 5000));
fieldList.add(new ExcelField(9, "处理方式", "processMethod", 5000)); fieldList.add(new ExcelField(9, "处理状态", "status", 5000));
fieldList.add(new ExcelField(10, "磅单审核通过时间", "poundAuditTime", 5000)); fieldList.add(new ExcelField(10, "处理方式", "processMethod", 5000));
fieldList.add(new ExcelField(11, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(11, "磅单审核通过时间", "poundAuditTime", 5000));
fieldList.add(new ExcelField(12, "处理人", "processBy", 5000)); fieldList.add(new ExcelField(12, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(13, "处理时间", "processTime", 5000)); fieldList.add(new ExcelField(13, "处理人", "processBy", 5000));
fieldList.add(new ExcelField(14, "处理时间", "processTime", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -164,6 +165,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild ...@@ -164,6 +165,7 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
rowData.add(new ExcelData(vo.getGoodsName())); rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(vo.getInvoiceType()))); rowData.add(new ExcelData(vo.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getInvoiceConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(vo.getInvoiceConfigType())));
rowData.add(new ExcelData(vo.getRiskType()==null?null:SettlementOrderChildRiskEnum.RiskType.getMsgByCode(vo.getRiskType()))); rowData.add(new ExcelData(vo.getRiskType()==null?null:SettlementOrderChildRiskEnum.RiskType.getMsgByCode(vo.getRiskType())));
rowData.add(new ExcelData(vo.getRiskRemark())); rowData.add(new ExcelData(vo.getRiskRemark()));
rowData.add(new ExcelData(vo.getStatus()==null?null:SettlementOrderChildRiskEnum.Status.getMsgByCode(vo.getStatus()))); rowData.add(new ExcelData(vo.getStatus()==null?null:SettlementOrderChildRiskEnum.Status.getMsgByCode(vo.getStatus())));
......
...@@ -5,6 +5,8 @@ import com.alibaba.excel.EasyExcel; ...@@ -5,6 +5,8 @@ import com.alibaba.excel.EasyExcel;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.enums.InvoicingCompanyEnum; 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.order.vo.pc.carrier.InvoicingCompanyVO;
import com.clx.performance.dao.OrderChildDao; import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao; import com.clx.performance.dao.settle.SettlementDriverDetailDao;
...@@ -101,6 +103,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -101,6 +103,8 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
@Autowired @Autowired
private InvoicingCompanyService invoicingCompanyService; private InvoicingCompanyService invoicingCompanyService;
@Autowired
private OrderFeign orderFeign;
@Override @Override
public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail) { public Integer saveSettlementDetail(OrderChild orderChild, OrderGoods orderGoods, SettlementDriverDetail settlementDriverDetail) {
...@@ -147,6 +151,18 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -147,6 +151,18 @@ 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);
if (orderChild.getInvoicingCompanyId() != null) {
FeignOrderVO feignOrderVO = orderFeign.getOrderInfoFeign(orderChild.getOrderNo());
if (Objects.equals(feignOrderVO.getPlatformFreightQuotationTaxType(),
InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
//设置开票公司信息 //设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId()); settlementOwnerDetail.setInvoicingCompanyId(orderChild.getInvoicingCompanyId());
settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName()); settlementOwnerDetail.setInvoicingCompanyShorterName(orderChild.getInvoicingCompanyShorterName());
...@@ -156,12 +172,10 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -156,12 +172,10 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany( InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompany(
settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND); settlementOwnerDetail.getInvoicingCompanyId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
// 开票服务率
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
settlementOwnerDetail.setInvoiceServiceFeeRate( settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate()); invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
} }
}
// 开票服务费 // 开票服务费
settlementOwnerDetail.setInvoiceServiceFee( settlementOwnerDetail.setInvoiceServiceFee(
...@@ -169,7 +183,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -169,7 +183,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
// 开票金额 // 开票金额
settlementOwnerDetail.setInvoiceFreight( settlementOwnerDetail.setInvoiceFreight(
settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(), settlementCommonService.invoiceFreightCalc(orderChild.getSettlementWay(),
orderGoods.getInvoiceServiceFeeRate(), settlementOwnerDetail)); settlementOwnerDetail.getInvoiceServiceFeeRate(), settlementOwnerDetail));
// 结算金额 // 结算金额
settlementOwnerDetail.setSettlementFreight( settlementOwnerDetail.setSettlementFreight(
...@@ -545,9 +559,10 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -545,9 +559,10 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
fieldList.add(new ExcelField(16, "开票金额", "invoiceFreight", 5000)); fieldList.add(new ExcelField(16, "开票金额", "invoiceFreight", 5000));
fieldList.add(new ExcelField(17, "开票公司", "invoicingCompanyShorterName", 5000)); fieldList.add(new ExcelField(17, "开票公司", "invoicingCompanyShorterName", 5000));
fieldList.add(new ExcelField(18, "开票标识", "invoiceType", 5000)); fieldList.add(new ExcelField(18, "开票标识", "invoiceType", 5000));
fieldList.add(new ExcelField(19, "订单编号", "orderNo", 5000)); fieldList.add(new ExcelField(19, "开票配置", "invoiceConfigType", 5000));
fieldList.add(new ExcelField(20, "结算单号", "settlementNo", 5000)); fieldList.add(new ExcelField(20, "订单编号", "orderNo", 5000));
fieldList.add(new ExcelField(21, "创建时间", "createTime", 5000)); fieldList.add(new ExcelField(21, "结算单号", "settlementNo", 5000));
fieldList.add(new ExcelField(22, "创建时间", "createTime", 5000));
// 组装数据 // 组装数据
List<List<ExcelData>> dataList = new ArrayList<>(); List<List<ExcelData>> dataList = new ArrayList<>();
...@@ -575,6 +590,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS ...@@ -575,6 +590,7 @@ public class SettlementOwnerDetailServiceImpl implements SettlementOwnerDetailS
rowData.add(new ExcelData(dto.getInvoiceFreight()==null?null:dto.getInvoiceFreight().movePointLeft(2))); rowData.add(new ExcelData(dto.getInvoiceFreight()==null?null:dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName())); rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType()))); rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(dto.getInvoiceConfigType()==null?null:SettlementOwnerEnum.InvoiceConfigType.getMsgByCode(dto.getInvoiceConfigType())));
rowData.add(new ExcelData(dto.getOrderNo())); rowData.add(new ExcelData(dto.getOrderNo()));
rowData.add(new ExcelData(dto.getSettlementNo())); rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(dto.getCreateTime())); rowData.add(new ExcelData(dto.getCreateTime()));
......
...@@ -37,4 +37,6 @@ public interface SettlementMqHandlerService { ...@@ -37,4 +37,6 @@ public interface SettlementMqHandlerService {
void settlementDriverConfirm(SettlementDriverConfirmMqParam mq); void settlementDriverConfirm(SettlementDriverConfirmMqParam mq);
void settlementOrderChildBrokerSync(OrderChildBrokerSyncMqParam mq);
} }
...@@ -22,6 +22,8 @@ public interface SettlementMqService { ...@@ -22,6 +22,8 @@ public interface SettlementMqService {
void riskProcess(Integer id); void riskProcess(Integer id);
void riskProcess(String childNo);
void updateInvoiceCompany(Integer id); void updateInvoiceCompany(Integer id);
void settlementPlatformAutoConfirmUpdate(String settlementNo); void settlementPlatformAutoConfirmUpdate(String settlementNo);
...@@ -30,4 +32,6 @@ public interface SettlementMqService { ...@@ -30,4 +32,6 @@ public interface SettlementMqService {
void settlementDriverConfirm(String childNo); void settlementDriverConfirm(String childNo);
void orderChildBrokerSync(String childNo);
} }
...@@ -134,6 +134,7 @@ public class OwnGoodsOrderStrategy extends GoodsOrderStrategy implements Initial ...@@ -134,6 +134,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());
//定向运单失效时间 //定向运单失效时间
......
...@@ -136,6 +136,7 @@ public class PartGoodsOrderStrategy extends GoodsOrderStrategy implements Initia ...@@ -136,6 +136,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());
//定向运单失效时间 //定向运单失效时间
......
...@@ -133,6 +133,7 @@ public class PlatformGoodsOrderStrategy extends GoodsOrderStrategy implements In ...@@ -133,6 +133,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());
//定向运单失效时间 //定向运单失效时间
......
...@@ -134,7 +134,24 @@ public enum SettlementOwnerEnum { ...@@ -134,7 +134,24 @@ public enum SettlementOwnerEnum {
} }
} }
@Getter
@AllArgsConstructor
public enum InvoiceConfigType {
NO(0, "否"),
YES(1, "是"),
;
private final Integer code;
private final String msg;
public static Optional<InvoiceConfigType> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(InvoiceConfigType::getMsg).orElse(null);
}
}
......
package com.clx.performance.vo.mq.settle;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
@Setter
@Getter
@ToString
@NoArgsConstructor
public class OrderChildBrokerSyncMqParam {
private String childNo;
}
...@@ -12,5 +12,6 @@ import lombok.ToString; ...@@ -12,5 +12,6 @@ import lombok.ToString;
public class SettlementOrderChildRiskProcessMqParam { public class SettlementOrderChildRiskProcessMqParam {
private Integer id; //id private Integer id; //id
private String childNo; //
} }
...@@ -82,4 +82,10 @@ public class OpenOrderChildDTO { ...@@ -82,4 +82,10 @@ public class OpenOrderChildDTO {
@Schema(description = "结算状态 1 已结算 ", example = "1234124") @Schema(description = "结算状态 1 已结算 ", example = "1234124")
private Integer settleStatus; private Integer settleStatus;
@Schema(description = "是否需要开票配置 0:否 1:是", example = "1", required = true)
private Integer invoiceNeed;
@Schema(description = "预估运费单价(分/吨)", example = "162", required = true)
private Integer predictFreightPrice;
} }
...@@ -29,6 +29,9 @@ public class TransportParam { ...@@ -29,6 +29,9 @@ public class TransportParam {
@NotBlank(message = "货主手机号(货主账号)不能为空") @NotBlank(message = "货主手机号(货主账号)不能为空")
private String ownerMobile; private String ownerMobile;
@Schema(description = "货主用户名字", example = "", required = true)
private String ownerName;
@Schema(description = "运单编号", required = true) @Schema(description = "运单编号", required = true)
@NotBlank(message = "运单编号不能为空") @NotBlank(message = "运单编号不能为空")
private String orderCode; private String orderCode;
......
...@@ -78,6 +78,8 @@ public class CarrierPageSettlementDriverDetailVO { ...@@ -78,6 +78,8 @@ public class CarrierPageSettlementDriverDetailVO {
private Integer invoicingCompanyId; private Integer invoicingCompanyId;
@Schema(description = "开票公司简称") @Schema(description = "开票公司简称")
private String invoicingCompanyShorterName; private String invoicingCompanyShorterName;
@Schema(description = "开票配置")
private Integer invoiceConfigType;
@MoneyOutConvert @MoneyOutConvert
@Schema(description = "平台服务费") @Schema(description = "平台服务费")
private BigDecimal platformServiceFee; private BigDecimal platformServiceFee;
......
...@@ -74,6 +74,8 @@ public class CarrierPageSettlementOwnerDetailVO { ...@@ -74,6 +74,8 @@ public class CarrierPageSettlementOwnerDetailVO {
private BigDecimal invoiceServiceFee; private BigDecimal invoiceServiceFee;
@Schema(description = "开票服务率") @Schema(description = "开票服务率")
private BigDecimal invoiceServiceFeeRate; private BigDecimal invoiceServiceFeeRate;
@Schema(description = "开票配置:0-否,1-是")
private Integer invoiceConfigType;
@MoneyOutConvert @MoneyOutConvert
@Schema(description = "借款抵扣金额") @Schema(description = "借款抵扣金额")
private BigDecimal loanFreight; private BigDecimal loanFreight;
......
...@@ -31,6 +31,9 @@ public class SettlementOrderChildRiskVO { ...@@ -31,6 +31,9 @@ public class SettlementOrderChildRiskVO {
@Schema(description = "开票标识:1网运单 2普通单") @Schema(description = "开票标识:1网运单 2普通单")
private Integer invoiceType; private Integer invoiceType;
@Schema(description = "开票配置,0否,1是")
private Integer invoiceConfigType;
@Schema(description = "磅单审核通过时间") @Schema(description = "磅单审核通过时间")
private String poundAuditTime; private String poundAuditTime;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论